Hallo,
vor ein paar Tage hatte ich eine ähnliches Problem, das ich über einen anderen Weg gelöst habe.
Es gin um diesen Ausdruck:
*****************
rstaktiv.Open „select count(*) into '“ & anzuser & „’ from h_hallen where hallen_id = '“ & ListBox1.Value & "’ „, cnn1, adOpenDynamic, adLockOptimistic
*********************
Vorher hatte ich das Problem, daß ich die Anzahl der Datensätze in einer Tabelle ermittelen wollte und mit deren Hilfe wollte ich eine Schleife bedienen. Das Problem habe ich mit EOF gelöst.
Aber nun brauche ich die Anzahl der Datensätze, weil ich genau fragen muß, ob anzuser = 0 oder > 0 ist. Ich kann aber mit Count(*) into '“ & anzuser & "’ nicht so arbeiten.
Hat Jemand so ein Problem schon gehabt?
Aber nun brauche ich die Anzahl der Datensätze, weil ich genau
fragen muß, ob anzuser = 0 oder > 0 ist. Ich kann aber mit
Count(*) into ‚" & anzuser & "‘ nicht so arbeiten.
danke, aber das klappt ja nicht. mir geht es darum in der tabelle nach einem eintrag zu schauen. falls der eintrag in der tabelle existiert, muß ich ein message ausgeben. der eintrag ist j der name der user und der kann unterschiedlich sein. daher dachte ich, daß ich mit count(*) fragen kann, ob es irgend einen eintrag in der tabelle gibt.
Die Lösung mit Anzahl = .Recordset.AbsolutePosition liefert mir immer für Anzahl den Wert 1, obwohl manchmal keine zeile mit dem Eintrag in der Tabelle vorhanden ist.
Gruß
R.
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
danke, aber das klappt ja nicht. mir geht es darum in der
tabelle nach einem eintrag zu schauen. falls der eintrag in
der tabelle existiert, muß ich ein message ausgeben. der
eintrag ist j der name der user und der kann unterschiedlich
sein. daher dachte ich, daß ich mit count(*) fragen kann, ob
es irgend einen eintrag in der tabelle gibt.
Die Lösung mit Anzahl = .Recordset.AbsolutePosition liefert
mir immer für Anzahl den Wert 1, obwohl manchmal keine zeile
mit dem Eintrag in der Tabelle vorhanden ist.
dafür brauchst Du aber doch nicht die Anzahl der Datensätze.
Daß Du einen bestimmten Datensatz suchst, hast Du nicht verraten.
Dann sie Dir mal …
.Recordset.MoveFirst
.Recordset.Find („User = ‚Beispiel‘“)
If .Recordset.Nomatch = false then
'was Du tun willst, wenn es den User gibt
Else
'oder was, wenn es ihn nicht gibt
End If
Wenn Dein Feld ‚User‘ heißt. Wenn Du mit ADO arbeitest, heißt der Befehl .FindFirst ; .FindNext
Hi,
danke für Antwort. Ja ich arbeite mit ADDOB.
Aber das Problem ist , daß in der Spalte User in der Tabelle, von der ich Datensätze einlesen, können ja verschieden Name stehen. Es kann ja Herr Müller oder Frau Becker sein. Daher kann ich nicht mit :.Recordset.Find („User = ‚Beispiel‘“). Hier muß ich es wissen, ob irgendeinen Name in dem Feld steht oder nichts (NULL).
Bin ja erst seit einem Monat mit VB vertraut und daher kenne ich mich nicht so aus. Habe gedacht, ich könnte ja fragen, ob eine Datensatz schon vorhanden ist. Falls ja, dann… und Falls nicht dann …
Das Modul sieht wie folgt aus:
*******************
Private Sub CommandButton2_Click()
Dim cnn1 As ADODB.Connection
Dim rstaktiv As ADODB.Recordset
Dim anzuser as Integer
Set cnn1 = New ADODB.Connection
'Datenbank öffnen
With cnn1
.Provider = „MSDAORA.1“
.Open „Data Source=vvv;User ID=xxx;password=ttt“
End With
'Tabelle öffnen
Set rstaktiv = New ADODB.Recordset
rstaktiv.CursorType = adOpenKeyset
rstaktiv.LockType = adLockPessimistic
'Cursor auf Tabelle setzen und selektieren
rstaktiv.CursorLocation = adUseClient
rstaktiv.Open „select count(*) into '“ & anzuser & „’ from h_hallen where hallen_id = '“ & ListBox1.Value & "’ ", cnn1, adOpenDynamic, adLockOptimistic
If anzuser > 0 And Optausfuehren.Value = True Then
MsgBox (besetzt)
else
Msg(nicht besetzt)
End If
rstlist.Close
cnn1.Close
End Sub
Gruß
*****************
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]