von Gabriel123 » Fr, 01.02.2008 14:16
Hallo Leute,
ich habe ein eigenartiges Problem: Ich habe ein Table, in dem Kundendatensätze mehrfach enthalten sind. Kunde1 ist 6 mal drin, Kunde2 3mal. Sie unterscheiden sich lediglich in string(8). Dort steht entweder RG, AG oder WE. Gleiche Kunden stehen immer untereinander. Meine Abfrage ist nun so:
Solange der Table nicht zu ende ist tue
Solange Kundennummer gleich bleibt tue
Abfragen String8
Code: Alles auswählen
Sub Abfrage
DIM DatabaseContext as object
DIM DataSourceName AS OBJECT
DIM Verbindung AS OBJECT
DIM SQL_Anweisung AS OBJECT
DIM Ergebnis
DIM Ergebnis1
dim RG as integer
dim WE as integer
dim AG as integer
dim c as integer
DIM ende
c=0
WE=0
RG=0
AG=0
DatabaseContext = createUnoService("com.sun.star.sdb.DatabaseContext")
DataSourceName = DatabaseContext.getByName("iao")
Verbindung = DataSourceName.GetConnection("","")
SQL_Anweisung = Verbindung.createStatement()
sql = "SELECT * FROM ""z_download_interne"""
Ergebnis = SQL_Anweisung.executeQuery(sql)
Ergebnis.last()
ende=Ergebnis.getRow
Ergebnis.first()
While Ergebnis.getrow <> ende
Ergebnis1=Ergebnis.getString(1)
While Ergebnis1=Ergebnis.getString(1)
If Ergebnis.getString(8)="tAG" then
AG=AG+1
msgbox "JA AG" &AG
Ergebnis.next()
else
If Ergebnis.getString(8)="tRG" then
RG=RG+1
msgbox "JA RG" &RG
Ergebnis.next()
else
IF Ergebnis.getString(8)="tWE" then
WE=WE+1
msgbox "JA WE" &WE
Ergebnis.next()
EndIf
EndIf
EndIf
wend
msgbox AG & RG & WE &"/"& Ergebnis.getstring(1)
AG=0
WE=0
RG=0
wend
end sub
Problem!: Der letzte Datensatz liefert entweder immer für alle drei werte 1 auch wenn der kunde nur 1mal da ist oder er macht eine endlosschleife und hört nicht mehr auf...Hab ich hier den Durchblick mit den Schleifen verloren? Wer kann das mal entfitzen?! Irgendwie bleibt die Schleife auf dem letzten Datensatz kleben:-/
Gabriel
Hallo Leute,
ich habe ein eigenartiges Problem: Ich habe ein Table, in dem Kundendatensätze mehrfach enthalten sind. Kunde1 ist 6 mal drin, Kunde2 3mal. Sie unterscheiden sich lediglich in string(8). Dort steht entweder RG, AG oder WE. Gleiche Kunden stehen immer untereinander. Meine Abfrage ist nun so:
Solange der Table nicht zu ende ist tue
Solange Kundennummer gleich bleibt tue
Abfragen String8
[code]
Sub Abfrage
DIM DatabaseContext as object
DIM DataSourceName AS OBJECT
DIM Verbindung AS OBJECT
DIM SQL_Anweisung AS OBJECT
DIM Ergebnis
DIM Ergebnis1
dim RG as integer
dim WE as integer
dim AG as integer
dim c as integer
DIM ende
c=0
WE=0
RG=0
AG=0
DatabaseContext = createUnoService("com.sun.star.sdb.DatabaseContext")
DataSourceName = DatabaseContext.getByName("iao")
Verbindung = DataSourceName.GetConnection("","")
SQL_Anweisung = Verbindung.createStatement()
sql = "SELECT * FROM ""z_download_interne"""
Ergebnis = SQL_Anweisung.executeQuery(sql)
Ergebnis.last()
ende=Ergebnis.getRow
Ergebnis.first()
While Ergebnis.getrow <> ende
Ergebnis1=Ergebnis.getString(1)
While Ergebnis1=Ergebnis.getString(1)
If Ergebnis.getString(8)="tAG" then
AG=AG+1
msgbox "JA AG" &AG
Ergebnis.next()
else
If Ergebnis.getString(8)="tRG" then
RG=RG+1
msgbox "JA RG" &RG
Ergebnis.next()
else
IF Ergebnis.getString(8)="tWE" then
WE=WE+1
msgbox "JA WE" &WE
Ergebnis.next()
EndIf
EndIf
EndIf
wend
msgbox AG & RG & WE &"/"& Ergebnis.getstring(1)
AG=0
WE=0
RG=0
wend
end sub
[/code]
Problem!: Der letzte Datensatz liefert entweder immer für alle drei werte 1 auch wenn der kunde nur 1mal da ist oder er macht eine endlosschleife und hört nicht mehr auf...Hab ich hier den Durchblick mit den Schleifen verloren? Wer kann das mal entfitzen?! Irgendwie bleibt die Schleife auf dem letzten Datensatz kleben:-/
Gabriel