dragi Geschrieben 6. Januar 2004 Geschrieben 6. Januar 2004 Hallo, ich brauche dringend eure Hilfe! Ich soll bis Feierabend folgendes in VB realisieren, dabei hab ich weder Ahnung von VB noch von SQL: Ich habe eine Datenbank in der habe ich 2 Tabellen. Tabelle Art und Tabelle Pic. In der Tabelle Art gibt es die Spalte ID (Zahl) und die Spalte ArtNr (Text) und in der Tabelle Pic gibt es die Spalte ID(Zahl) und Name(Text). Es gibt ca. 18.000 ArtNr(Artikelnummern) und ca. 6000 Namen. Diese 6000 Namen haben die gleiche Bezeichnung wie 6000 Artikelnummern. Beispiel: Es gibt die ArtNr: 1123 und den Namen 1123. Nun soll in einer dritten Tabelle jeweils die ID von gleicher ArtNr und Namen zusammengefasst werden. Also 3 Spalten: Einmal die ID der neuen Dazensätze, einmal die ID der Art Tabelle und einmal die ID der Pic Tabelle. Wie soll ich das anstellen? Ich habe nun ein Formular mit einem Button. Dazu habe ich jetzt mit einem Modul begonnen: '--- Öffnen der Hauptdatenbank (blabla_cd.mde) Public Sub database_open() strPasswort = "xxxxxxxxx" Set blablaDB = OpenDatabase(App.Path & "\Datenbank\blabla_cd.mde", False, True, "MS ACCESS; PWD=" & strPasswort) End Sub Irgendwie soll ich nun das folgende Select Statement verwenden: Select Tab1.ID1, Tab2.ID2 from tab1, Tab2 where Tab1.ArtNr = Tab2.Name Aber wie soll ich das in VB einbauen? Und wie krieg ich dann diese dritte Tabelle??? Bitte helft mir! Ist sehr wichtig! Vielen, vielen Dank dragi Zitieren
MadCro Geschrieben 6. Januar 2004 Geschrieben 6. Januar 2004 guck dir mal die Microsoft DAO Object Library an dann muß du einen Recordset erzeugen mit dem du dich in der datenbank bewegen kannst also so was wie einen Zeiger so was in der art : Private RsA As New ADODB.Recordset Private CnA As New ADODB.Connection ' verbindung zur datenabnk herstellen : With CnA 'Connection zur DataBase .CursorLocation = adUseClient .Mode = adModeShareDenyNone .Provider = "Microsoft.Jet.OLEDB.4.0" ' für Access 97: 3.51 / für 2000: 4.0 .ConnectionString = "Data Source=" & DatenBankDir & DBFileName .Open End With With RsA If .State = adStateOpen Then 'Recordset schliessen .Close 'schliessen End If .CursorType = adOpenKeyset .LockType = adLockPessimistic .Open sSql, CnA ' sSql ist deine SQL Abfrage alos einfach ein String ' CnA ist die Conection zur datenbank If .RecordCount = 0 Then MsgBox= "Keine Einträge in der Datenbank gefunden, Programm wird beendet!" End If .MoveFirst ' zeigen auf ersten eintrag in datenbank End With und dann so was : Do While Not RsA.EOF ' so lange einträger in datenbank ' HIER KOMMEN DEINE AKTIONEN RsA.MoveNext ' zeiger auf nächsten eintrag Loop guck mal ob dir das weiterhilft Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.