Hallo,
ich versuche eine einfache Sache zu programmieren, bekomme aber eine Fehlermeldung. Es gibt ja verschieden Weg, um die Anzahl der Datensätze in einer Tabelle (Oracle) zu berechnen. Ich versuche durch den folgenden Weg, nachdem ich die Datenbank und die Tabelle geöffnet habe:
…
…
set cnn = New ADDOB.Connection
…
…
cnn.Execute „Select count(*) into ’ " & anz & " ’ from tb_countries“
…
Bekomme als Wert für anz immer -1. In der Tabelle gibt es aber 200 Datensätze.
Ich kann Update, Insert oder Select auf die Tabelle durchführen, aber kein Count-Befehl.
ich versuche eine einfache Sache zu programmieren, bekomme
aber eine Fehlermeldung. Es gibt ja verschieden Weg, um die
Anzahl der Datensätze in einer Tabelle (Oracle) zu berechnen.
Ich versuche durch den folgenden Weg, nachdem ich die
Datenbank und die Tabelle geöffnet habe:
…
…
set cnn = New ADDOB.Connection
…
…
cnn.Execute „Select count(*) into ’ " & anz & " ’ from
tb_countries“
cnn. Open"Select count(*) as anz from tb_countries", cna, adOpenDynamic, adLockPessimistic
…
Bekomme als Wert für anz immer -1. In der Tabelle gibt es aber
200 Datensätze.
Ich kann Update, Insert oder Select auf die Tabelle
durchführen, aber kein Count-Befehl.
Hi Timo,
danke für die schnalle Antwort, aber ich bekomme eine Fehlermedung, die besagt, daß die Tabelle schon einmal geöffnet wurde, weil ich erst die Tabelle sortiet öffnen muß und die Zeilen lesen muß.
cnn.Open „Select land_name from tb_countries order by land_name“, cna, adOpenDynamic, adLockPessimistic
und dann kommt Deine Zeil
cnn.Open „Select count(*) as anz from tb_countries“, cna, adOpenDynamic, adLockPessimistic
Abgesehen davon brauche ich die Variable anz für meine Schleife:
for i=1 to anz
So komme ich nicht auf den Wert in anz.
Gruß
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Hi Timo,Hi,
danke für die schnalle Antwort, aber ich bekomme eine
Fehlermedung, die besagt, daß die Tabelle schon einmal
geöffnet wurde, weil ich erst die Tabelle sortiet öffnen muß
und die Zeilen lesen muß.
cnn.Open „Select land_name from tb_countries order by
land_name“, cna, adOpenDynamic, adLockPessimistic
und dann kommt Deine Zeil
Dann lass meine Zeile weg und mach’s statt dessen so:
dim anzahl as integer
deineZeile ( cnn.open „Select…“)
anzahl=cnn.recordcount
cnn.Open „Select count(*) as anz from tb_countries“, cna,
adOpenDynamic, adLockPessimistic
Abgesehen davon brauche ich die Variable anz für meine
Schleife:
for i=1 to anz
So komme ich nicht auf den Wert in anz.
Gruß
Gruß.Timo
Hallo,
Hi,
ich versuche eine einfache Sache zu programmieren, bekomme
aber eine Fehlermeldung. Es gibt ja verschieden Weg, um die
Anzahl der Datensätze in einer Tabelle (Oracle) zu berechnen.
Ich versuche durch den folgenden Weg, nachdem ich die
Datenbank und die Tabelle geöffnet habe:
…
…
set cnn = New ADDOB.Connection
…
…
cnn.Execute „Select count(*) into ’ " & anz & " ’ from
tb_countries“
cnn. Open"Select count(*) as anz from
tb_countries", cna, adOpenDynamic, adLockPessimistic
…
Bekomme als Wert für anz immer -1. In der Tabelle gibt es aber
200 Datensätze.
Ich kann Update, Insert oder Select auf die Tabelle
durchführen, aber kein Count-Befehl.
Hi,
das habe ich auch gemacht, liefert aber mit für anzahl = -1
In der Tabelle gibt es aber 200 Datensätze und ich sie sogar mir ohne Probleme anzeigen
Gruß
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
sorry, das geht nicht. bekomme ich dei Fehlermeldung:
Ein Objekt, das dem angeforderten Namen oder dem Ordinalverweis entspicht, kann nicht gefunden werden. Das Programm sieht wie folgt aus:
Anzahl zeigt aber jetzt nicht meht auf -1, sonder auf 1
**************
Private Sub UserForm_Initialize()
Dim cnn1 As ADODB.Connection
Dim rstcountry As ADODB.Recordset
Dim country(255)
Dim anz As Integer
Dim i As Integer
Dim objDatensatz As Datensatz
Set objDatensatz = New Datensatz
ComboBox1.SetFocus
Set cnn1 = New ADODB.Connection
With cnn1
.Provider = „MSDAORA.1“
.Open „Data Source=xxxx;User ID=ddd;password=ttt“
End With
Set rstcountry = New ADODB.Recordset
rstcountry.CursorType = adOpenKeyset
rstcountry.LockType = adLockPessimistic
rstcountry.CursorLocation = adUseClient
rstcountry.Open „select count(*) as anz from tb_countries“, cnn1, adOpenDynamic, adLockOptimistic
sorry, das geht nicht. bekomme ich dei Fehlermeldung:
Ein Objekt, das dem angeforderten Namen oder dem
Ordinalverweis entspicht, kann nicht gefunden werden. Das
Programm sieht wie folgt aus:
OK, jetzt sehe ich mal das ganze Programm und mache dir einen Vorschlag zur effizienteren Programmierung:
Anzahl zeigt aber jetzt nicht meht auf -1, sonder auf 1
**************
Private Sub UserForm_Initialize()
Dim cnn1 As ADODB.Connection
Dim rstcountry As ADODB.Recordset
ComboBox1.SetFocus
Set cnn1 = New ADODB.Connection
With cnn1
.Provider = „MSDAORA.1“
.Open „Data Source=xxxx;User ID=ddd;password=ttt“
End With
Set rstcountry = New ADODB.Recordset
rstcountry.CursorType = adOpenKeyset
rstcountry.LockType = adLockPessimistic
Ich danke Dir. Es hat geklappt. Eigentlich sollte ich selbst auf While-Schleife kommen, aber ich wolte es irgendwie mit Count lösen. Bin immer noch in OOP ein Anfänger. Komme aus der Datenbankwelt (PL-SQL)
Was macht eigentlich diese Zeile:
rstcountry.CursorLocation = adUseClient
Ein schönes WE
Gruß
Rezaei
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Ich danke Dir. Es hat geklappt. Eigentlich sollte ich selbst
auf While-Schleife kommen, aber ich wolte es irgendwie mit
Count lösen. Bin immer noch in OOP ein Anfänger. Komme aus der
Datenbankwelt (PL-SQL)
Was macht eigentlich diese Zeile:
rstcountry.CursorLocation = adUseClient
sorry, das geht nicht. bekomme ich dei Fehlermeldung:
Ein Objekt, das dem angeforderten Namen oder dem
Ordinalverweis entspicht, kann nicht gefunden werden. Das
Programm sieht wie folgt aus:
OK, jetzt sehe ich mal das ganze Programm und mache dir einen
Vorschlag zur effizienteren Programmierung:
Anzahl zeigt aber jetzt nicht meht auf -1, sonder auf 1
**************
Private Sub UserForm_Initialize()
Dim cnn1 As ADODB.Connection
Dim rstcountry As ADODB.Recordset
ComboBox1.SetFocus
Set cnn1 = New ADODB.Connection
With cnn1
.Provider = „MSDAORA.1“
.Open „Data Source=xxxx;User ID=ddd;password=ttt“
End With
Set rstcountry = New ADODB.Recordset
rstcountry.CursorType = adOpenKeyset
rstcountry.LockType = adLockPessimistic