Hallo,
da die überarbeitete Suchfunktion zum Thema Datenbanken ganze drei (!!!) Treffer zeigt, sehe ich mich gezwungen, einen neuen Thread aufzumachen.
Folgendes Problem:
Ich habe 2 Tabellen in einer Datenbank. Eine mit Benutzerdaten, eine andere mit den Titeln von Beiträgen und den Beiträgen selbst. Diese würde ich nun gerne verknüpfen (also Benutzer A (aus Tabelle 1) hat den Text B (aus Tabelle 2) geschrieben.
Die habe ich folgendermaßen versucht:
Dim user As ADODB.Recordset
Dim txt As ADODB.Recordset
Dim conn As ADODB.Connection
Set txt = New ADODB.Recordset
Set user = New ADODB.Recordset
Set conn = New ADODB.Connection
conn.Open "Provider=MSDASQL.1;Persist Security Info=False;Data Source=Data Source"
Dim username As String
Dim Text As String
txt.Open "SELECT * FROM texte", conn, adOpenStatic, adLockPessimistic
If txt.RecordCount > 0 Then
txt.MoveFirst
Do While Not rs.EOF
Text = CStr(user.Fields("text"))
Datum = CStr(user.Fields("Datum"))
username = CStr(user.Fields("Nickname"))
user.Open "SELECT email FROM user WHERE nickname = " & username, conn, adOpenStatic, adLockPessimistic
email = CStr(txt.Fields("email"))
txt.MoveNext
Loop
End IF
Wenn ich das nun so laufen lasse, bekomme ich folgenden Fehler:
Die Operation ist für ein geöffnetes Objekt nicht zugelassen
gemeint ist damit die Zeile:
user.Open "SELECT email FROM user WHERE username = " & username, conn, adOpenStatic, adLockPessimistic
Weiß einer, was falsch ist? Bzw. bräuchte ich Rat, wie es richtig geht, da ich die Fehlermeldung verstehe.
Brauche ich eventuell zwei seperate DBs???
MfG
cyber
da die überarbeitete Suchfunktion zum Thema Datenbanken ganze drei (!!!) Treffer zeigt, sehe ich mich gezwungen, einen neuen Thread aufzumachen.
Folgendes Problem:
Ich habe 2 Tabellen in einer Datenbank. Eine mit Benutzerdaten, eine andere mit den Titeln von Beiträgen und den Beiträgen selbst. Diese würde ich nun gerne verknüpfen (also Benutzer A (aus Tabelle 1) hat den Text B (aus Tabelle 2) geschrieben.
Die habe ich folgendermaßen versucht:
Dim user As ADODB.Recordset
Dim txt As ADODB.Recordset
Dim conn As ADODB.Connection
Set txt = New ADODB.Recordset
Set user = New ADODB.Recordset
Set conn = New ADODB.Connection
conn.Open "Provider=MSDASQL.1;Persist Security Info=False;Data Source=Data Source"
Dim username As String
Dim Text As String
txt.Open "SELECT * FROM texte", conn, adOpenStatic, adLockPessimistic
If txt.RecordCount > 0 Then
txt.MoveFirst
Do While Not rs.EOF
Text = CStr(user.Fields("text"))
Datum = CStr(user.Fields("Datum"))
username = CStr(user.Fields("Nickname"))
user.Open "SELECT email FROM user WHERE nickname = " & username, conn, adOpenStatic, adLockPessimistic
email = CStr(txt.Fields("email"))
txt.MoveNext
Loop
End IF
Wenn ich das nun so laufen lasse, bekomme ich folgenden Fehler:
Die Operation ist für ein geöffnetes Objekt nicht zugelassen
gemeint ist damit die Zeile:
user.Open "SELECT email FROM user WHERE username = " & username, conn, adOpenStatic, adLockPessimistic
Weiß einer, was falsch ist? Bzw. bräuchte ich Rat, wie es richtig geht, da ich die Fehlermeldung verstehe.
Brauche ich eventuell zwei seperate DBs???
MfG
cyber
Zuletzt bearbeitet: