Zuweisen

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?

Gruß

R.

Hi,

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.

keine Ahnung, warum Du die Anzahl nicht bekommst.

.Recordset.MoveLast
Anzahl = .Recordset.AbsolutePosition

muß aber in jedem Fall gehen.

Gruß, Rainer

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]

Hi,

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

Gruß, Rainer

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]

Wo wird anzuser ein Wert zugewiesen?

„select count(*) into '“ & anzuser & „’ from h_hallen where hallen_id = '“ & ListBox1.Value & "’ "
Ist das SQL? Versteht das die Datenbank?

Hi,
der Fehler war bei der Select-Anweisung. Ich mußte noch dazu schreiben, where bearbeite is not null. gruß

Wo wird anzuser ein Wert zugewiesen?

„select count(*) into '“ & anzuser & „’ from h_hallen where
hallen_id = '“ & ListBox1.Value & "’ "
Ist das SQL? Versteht das die Datenbank?