Avatar billede mc.lucifer Praktikant
19. januar 2003 - 12:06 Der er 11 kommentarer og
2 løsninger

VB Skal finde enkelte poster i en Access DB

Jeg er i gang med at udvikle et mindre system.

Jeg har en database der har nogle stamoplysninger i en tabel ved navn "Stam" og nogle kredit oplysninger i en tabel ved navn "Debit"

Når jeg tilføjer nogle Debit oplysninger på et firma så henter Debit Stam´s ID Nr og skriver dem i Debits ID nr, På den måde kan jeg holder firma og oplysninger samlet, Men hvordan for jeg den til at sotere det.

I Sql ville det hede noget i stil med
Stamid = $Id
Select * From Debit Where Id = $Stamid

Men hvordan ville det se ud i VB
Håber i forstå mit lille problem, Ellers spørg

MC
Avatar billede tubber Juniormester
19. januar 2003 - 12:12 #1
Hvis du kender SQL så brug da det.....

Du skal lave den med en DSN Less connection og tilføje MS DAO 3.51 eller 3.6 i din refferences.....

Kan godt smide et lille eksempel på det til dig hvis det er, men det du selv skriver i toppen må du selv ligge ind.....

/Tubber
Avatar billede mc.lucifer Praktikant
19. januar 2003 - 12:48 #2
Vil gerne se et lille exempel

MC
Avatar billede iqzero Nybegynder
19. januar 2003 - 13:07 #3
oConn.Open "Driver={Microsoft Access Driver (*.mdb)};" & _
          "Dbq=c:\somepath\mydb.mdb;" & _
          "Uid=admin;" & _
          "Pwd="

Sdan - tror jeg.. Må være to år siden jeg har leget med det ;)

(Man bliver jo ældre - børn)
Avatar billede mc.lucifer Praktikant
19. januar 2003 - 13:18 #4
Ønsker ikke at benytte Sql da jeg vil mene "Læs TROR" at jeg så skal ændre en masse kode da de grundlæggende ting fungere

Men som jeg nu har kunne læse mig frem til det så skal det køres lidt i stil med det her

Dim ID As Intger
Dim Debitid(100) As Intger
ID = Data1.Recordset ("Id")
Data2.Recordset.Movefirst
Do While Data2.Recordset.EOF = False
If Data2.Recordset ("Id") = ID Then
"Skal den proppe det ind i arrayet" <---- Kan jeg ikke lige kode
End If

Data2.Recordset ("Id") = Debitid

End Sub

Men syntes ikke det virker, Den skal jo bare smide alle poster der opfylder kravet om at have samme  Id nr som Data1.Recordset´en i Arrayet og så til sidst vise arrayet i Data2

MC
Avatar billede mc.lucifer Praktikant
19. januar 2003 - 13:19 #5
Mangler selvfølgelig en Move Next

Men i forstår sikkert hvor jeg vil hen af

MC
Avatar billede tubber Juniormester
19. januar 2003 - 13:28 #6
Ok MC hvis du ikke vil bruge sql så kan jeg desværrer ikke hjælpe :O(
Bruger altid selv sql da jeg mener man har mere kontrol over dataene....

/Tubber
Avatar billede mc.lucifer Praktikant
19. januar 2003 - 13:32 #7
Tubber jeg kan kun give dig ret i at SQL klart er at fortrække men jeg vil ikke bruge det her da jeg skal aflevere programmet til en bekendt og syntes ikke han skal have indstaleret Sql server osv osv på hans desktop for bare at kunne køre et mindre program

MC
Avatar billede tubber Juniormester
19. januar 2003 - 13:48 #8
Du kan sagtens bruge SQL connection og strenge til at kommunikere med en access db, og det mener jeg også er bedre end data kontrollen......

Har lavet en CD Database som kørere med en DB og kommunikation til denne via sql sætninger.....

Eks. på en simpel lille søge funktion.....:
Private Sub cmdSoftwareSrc_Click()
If txtSearchSoftware.Text = "" Then
    MsgBox "Search field empty", , "Warning"
ElseIf txtSearchSoftware.Text <> "" Then
    txtSoftwareName.Text = ""
    txtSoftwareType.Text = ""
    txtSoftwarePlatform.Text = ""
    txtSoftwareCDName.Text = ""
    txtSoftwareCDNumber.Text = ""
    txtSoftwareOwner.Text = ""
    txtSoftwareBorowed.Text = ""
    txtSoftwareFileType.Text = ""
    Set ws = Workspaces(0)
    Set db = ws.OpenDatabase(App.Path & "\CDDatabase.mdb")
    Set rs = db.OpenRecordset("SELECT * FROM software where " & comboSoftwareBy.Text & " = '" & txtSearchSoftware.Text & "'")
    lstSoftware.Clear
    If Not rs.EOF Then
        rs.MoveFirst
        Do While Not rs.EOF
            lstSoftware.AddItem rs!Name
            rs.MoveNext
        Loop
    End If
End If
End Sub
Avatar billede mc.lucifer Praktikant
19. januar 2003 - 13:59 #9
Ok Har siddet og kigget lidt. Hvordan fortæller jeg ADODC At den skal fange en access DB. Og hvilken Tabel den skal bruge.

MC
Avatar billede tubber Juniormester
19. januar 2003 - 14:04 #10
ADODC ? det er vist nemmere med MS DAO 3.51 eller 3.6 alt efter access ver.

Og du skal self lige dimme ws, db og rs.....

Dim ws As Workspace
Dim db As Database
Dim rs As Recordset

Hvis du har flere forms kan du med fordel dimme dem i et bas modul som global...

Global ws As Workspace
Global db As Database
Global rs As Recordset
Avatar billede mc.lucifer Praktikant
19. januar 2003 - 14:06 #11
Ok, Ro På Nu Ro På

Jeg er VB mand på 2 Mdr og er kun vandt til at arbejde med Den connection der heder data.
Hvor i Menuen ligger MS Dao for det er vel et punkt jeg skal tilføje på samme måde som Data og ADODC
Så hvor ligger den

MC
Avatar billede mc.lucifer Praktikant
19. januar 2003 - 14:10 #12
Tubber må jeg ikke bede om dit ICq nr syntes ikke det går så hurtigt som jeg kunne ønske det her

Du kan kontakte mig på 7435375

Men selvfølgelig kun hvis du har tid

MC
Avatar billede mikker Nybegynder
19. januar 2003 - 19:44 #13
Hvorfor ikke bare smide det i en listbox, den kan du jo bede om at sortere for dig (hvad du så end skal bruge det til) :O)
Du kan endda vælge at skjule den på din form.

- Mikker
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester

IT-JOB

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Vil du være med til at opbygge og udvikle Forsvarets dronekapacitet?

Politiets Efterretningstjeneste

Fullstack softwareudvikler i PET

Rambøll Management Consulting

Senior Software Engineer

Riskpoint A/S (Riskpoint Solutions Limited)

Senior Developer