SQL ??
- SQL ?? von Juergen vom 23.08.2004 22:39:37
Betrifft: SQL ??
von: Juergen
Geschrieben am: 23.08.2004 22:39:37
Hallo Leute!
Vielleicht hat jemand 2-3min. Ich lese mit dem unteren Modul eine Access MDB aus suche nach Rechnungsnummer und füge das gefunde in Variablen ein. Meine Frage.... geht das auch einfacher mit einem SQL-Statment geht vielleicht schon vom Prinzip einfacher (also mit weniger Zeilen) und...wenn mit SQL was für einen Verweis muß ich neben DAO noch setzten.
DANKE!!!!
Gruß Jürgen
Sub dblesen()
Dim wrkJet As Workspace
Dim wrkODBC As Workspace
Dim dbsrech As Database
Dim rs As Recordset
Set wrkJet = CreateWorkspace("", "Admin", "", dbUseJet)
Set wrkODBC = CreateWorkspace("", "Admin", "", dbUseODBC)
Set dbsrech = wrkJet.OpenDatabase("c:\fibu2005\db.mdb")
Set rs = dbsrech.OpenRecordset("Tabelle1", dbOpenDynaset)
i = 1
Do Until rs.EOF
If rechnr <> rs![rechnr] Then GoTo 10
kdnr = rs![kdnr]
ukdnr = rs![ukdnr]
posten1(i) = rs![po1]
posten2(i) = rs![po2]
posten3(i) = rs![po3]
posten4(i) = rs![po4]
posten5(i) = rs![po5]
posten6(i) = rs![po6]
posten7(i) = rs![po7]
posten8(i) = rs![po8]
da1 = rs![datum]
lsdatum = rs![lsdatum]
i = i + 1
10
rs.MoveNext
Loop
po = i
rs.Close
dbsrech.Close
wrkJet.Close
wrkODBC.Close
rechholen3
End Sub
Betrifft: AW: SQL ??
von: andre
Geschrieben am: 24.08.2004 05:42:21
Hallo Jürgen,
mit SQL wird nichts einfacher, Du kannst damit nur das zurückgegebene recordset einschränken.
Deinen code machst Du kürzer, wenn Du ein 2d-Array nimmst posten(1 to 8, 1 to xxx) oder posten(7, xxx).
Das Array dimensionierst Du wohl in einem anderen code? Einzeln läuft Dein Sub ohne Dim posten... nicht.
Betrifft: AW: SQL ??
von: Juergen
Geschrieben am: 24.08.2004 08:16:55
Hallo Andre!
Jau. die DIMs sind Public schon bei starten.
Aber wenn es dann auch nicht kürzer wird dann brauche ich mir über SQL ja keinen Kopf machen.
DANKE!!!
Gruß Jürgen