PDA

Vollständige Version anzeigen : DBEngine???


KostasG
28.09.2005, 16:32
Hallo!
Habe eine Loesung von Forum uebernommen aber beim Debuggen bleibt es in der Zeile mit "DBEngine" haengen
Run time error : 3061
Zu wenig Parameter es wurde 1 erwartet.
Was ist da falsch?
Private Sub D_PARAG_AfterUpdate()
Dim STRSQL As String
Dim AUSGABE As String
Dim RS As DAO.Recordset
STRSQL = "select DB, AN_ROLLO," & _
"KILA from T_PARAGOGI_FILM " & _
"WHERE DB = " & Me!D_PARAG & ""
Set RS = DBEngine(0)(0).OpenRecordset(STRSQL, DBOPENDYNASET)
While Not RS.EOF
AUSGABE = AUSGABE & "; " & RS!db
RS.MoveNext
Wend
MsgBox (AUSGABE)
End Sub

Gustav Kurz
28.09.2005, 16:47
Lasse Dir mal mittels Debug.Print STRSQL den SQL-String anzeigen, kopiere Ihn in die SQL-Ansicht eines leeren Abfrageentwurfes und führe mal die Abfrage aus...

Gruß
Gustav

KostasG
28.09.2005, 16:59
Danke aber habe es wahrscheinlich nict verstanden!
STRSQL = "select DB, AN_ROLLO," & _
"KILA from T_PARAGOGI_FILM " & _
"WHERE DB = " & Me!D_PARAG & ""
setze ich nun
Debug.Print STRSQL ?
es kommt nix raus.

Gustav Kurz
28.09.2005, 17:14
Nach Durchlauf des Codes blendest du das Direktfenster, in das der Wert von STRSQL geschrieben wurde, mittels der Tastenkombination STRG + G ein...

Gruß
Gustav

Arne Dieckmann
28.09.2005, 18:00
Ich vermute, dass DB ein Textfeld ist, deshalb also:
"WHERE DB = '" & Me!D_PARAG & "'"

Zur Verwendung von Debug.Print s. http://home.arcor.de/ar/arne.d/datenbanken/grundlagen/vba/index.html#SEC5_4


Wenn ich keinen Knick in der Linse habe, ist die Schleife aber ziemlich wertlos - wenn man nach "db" abfragt, die dem Textfeld entsprechen, kann man das auch ohne Schleife machen (das Ergebnis ist nur abhängig von der Anzahl). Ist wohl nur ein Test, oder?

KostasG
29.09.2005, 07:09
Morgen,
DB ist kein textfeld.
Das Resultat von debug.print ist
select DB, AN_ROLLO,KILA from T_PARAGOGI_FILM WHERE DB = 6511
Wohl nicht sehr abklaerend oder?

KostasG
29.09.2005, 10:09
Es hat wunderbar geklappt.
Bedanke mich!!!

Private Sub D_PARAG_AfterUpdate()
Dim STRSQL As String
Dim AUSGABE As String
Dim cncurrent As ADODB.Connection
Dim RS As ADODB.Recordset
Set cncurrent = CurrentProject.Connection
Set RS = New ADODB.Recordset
STRSQL = "select DP, AN_ROLLO, " & _
"KILA from T_PARAGOGI_FILM " & _
"WHERE DP = " & Me!D_PARAG & ""
RS.Open STRSQL, cncurrent
Debug.Print STRSQL
Do Until RS.EOF
AUSGABE = AUSGABE & RS!DP & " " & RS!AN_ROLLO & " " & RS!KILA & Chr(13)
RS.MoveNext
Loop
MsgBox (AUSGABE)
End Sub