Abfragewert in code verwenden

Tag zusammen :smile:

Ich würde gerne eine Schleife basteln in Access und zwar

Do while i >= x
Anweisung usw.

x ist bei mir das Ergebnis einer Abfrage, also

Anzahl
567

mehr nicht. Ich möchte also gern, dass er die Schleife solange wiederholt bis i = 567 ist.

Könnt ihr mir Tipps geben wie ich des schreiben könnte?

Thx schonmal :wink:

Hallo,

Ich würde gerne eine Schleife basteln in Access und zwar

Do while i >= x
Anweisung usw.

x ist bei mir das Ergebnis einer Abfrage, also

Anzahl
567

mehr nicht. Ich möchte also gern, dass er die Schleife solange
wiederholt bis i = 567 ist.

Wenn die Schleife laufen soll, so lange I ungleich 567 ist, dann:

Do While i x
 'Dein Code
Loop

oder

While i x
 'Dein Code
Wend

Gruß Rainer

eehm ich glaube da wurde ich falsch verstanden. Ich suche etwas wie docmd.openquery oder ähnlich. Open query öffnet mir leider nur die Abfrage. Ich möchte, dass der tatsächliche WERT der Abfrage (im Bsp 567) benutzt wird.

do while i >= [Ergebnis der Abfrage/Wert in der Zeile der Abfrage]

Meine Abfrage ist ein Select count(„Anzahl_Datensaetze“ genannt). Ich hoffe es wird jetzt klarer…

lg

Hi,

do while i >= [Ergebnis der Abfrage/Wert in der Zeile der
Abfrage]

Meine Abfrage ist ein Select count(„Anzahl_Datensaetze“
genannt). Ich hoffe es wird jetzt klarer…

ein klein wenig schon, mir wird zumindest klar, daß es scheinbar nicht um VB6 geht. Ich rate mal: Access VBA? Nein, davon habe ich keine Ahnung.

Gruß Rainer

Scheinbar ist gut, hab ich doch dazu geschrieben ;-p

Also wer kann mir helfen bitte bitte :smile: !!

eehm ich glaube da wurde ich falsch verstanden. Ich suche
etwas wie docmd.openquery oder ähnlich. Open query öffnet mir
leider nur die Abfrage. Ich möchte, dass der tatsächliche WERT
der Abfrage (im Bsp 567) benutzt wird.

do while i >= [Ergebnis der Abfrage/Wert in der Zeile der
Abfrage]

Meine Abfrage ist ein Select count(„Anzahl_Datensaetze“
genannt). Ich hoffe es wird jetzt klarer…

Hallo Nomista,

das Einzige was Rainer und ich in Access-vba kennen sind dort die reinen VB-Anteile.

Die Hilfe sagt zu OpenQuery:

Dieses Beispiel öffnet die Abfrage Umsätze (Gesamt) in der
Datenblattansicht und ermöglicht dem Benutzer das Anzeigen, aber
nicht das Bearbeiten oder Hinzufügen von Datensätzen.

DoCmd.OpenQuery „Umsätze (Gesamt)“, , acReadOnly

Jetzt habe ich keinen blassen Schimmer was du da mit 567 willst?

Willst du den 567ten Datensatz angezeigt bekommen oder wie wo was?

Vielleicht wäre das Accessbrett besser geeignet für die Anfrage, wenn ja, so maile bitte Rainer an und bitte um Verschiebung.

Gruß
Reinhard

Hi,

Scheinbar ist gut, hab ich doch dazu geschrieben ;-p

Stimmt, sorry. Du hast Access geschrieben, hab’ ich überlesen.

Eventuell hilft Dir ja, was ich in VB6 testen kann.

Private Sub Command1\_Click()
 strSQL = "SELECT count(\*) AS Count From Tabelle"
 Set RS = DB.OpenRecordset(strSQL)
 Me.Caption = RS(0)
End Sub

Du musst das Recordset mit dem SQL-String wie in meinem Beispiel öffnen, im Feld 0 steht dann die Anzahl. Du musst die Anzahl also erst mal in Dein x schreiben und erst dann die Schleife starten. Das Recordset bei jedem Schleifendurchlauf neu zu lesen macht auch keinen Sinn, aber das Programm langsam.

Aber Vorsicht! Der Wert ist Integer! Die Tabelle darf nicht zu groß sein, sonst funktioniert es nicht mehr!

Gruß Rainer

Moin, nomista,

wir fangen besser nochmal von vorne an, weil ich aus Deinen bisherigen 3 Beiträgen nicht schlau werde.

Ich würde gerne eine Schleife basteln in Access und zwar

Eine Schleife ist ein Konstrukt, das im Code verwendet wird, nicht in Access.

 Do while i \>= x
 ' Anweisung usw. 
 ' **vor allem aber:** Setze i, sonst läuft das Ding bis Ultimo
 Wend 

Und wo liegt nun das Problem? Erzähl mal, wie i zu dem Wert 567 kommt.

Gruß Ralf