Querytables ResultRange.Rows.Count ist falsch bei leerem Resultset

16/06/2009 - 14:56 von Richard Ohl | Report spam
Hallo,
ich hoffe, dass ihr mir mit Querytables helfen könnt (ich habe bereits in
microsoft.public.office.developer.vba geposted, aber ohne Erfolg).

Ich habe ein bisschen Code, dass auf einem Worksheet diverse Querytables
untereinander anlegt. Die Daten kommen aus Stored Procedures.
Das funktioniert auch alles, nur kommt, wenn das Resultset leer ist, in
meinem querytableobject.ResultRange.Rows.Count eine 2 raus. Wenn allerdings
tatsàchlich 1, 2 oder mehr Ergebnisse da sind , stimmt der Count - deswegen
kann ich den count von 2 nicht einfach ignorieren.
Im Query Analyser oder in MS Query werden die jeweils korrekten (teilweise
halt leeren) Ergebnisse richtig angezeigt. NOCOUNT ist auf ON in den
Procedures.
Ich würde mich freuen, falls jemand einen Tipp für mich hàtte.
Viele Grüße,
Richard
Einmal dachte ich, ich hàtte unrecht. Aber ich hatte mich ausnahmsweise
getàuscht. (Graf Fito)
 

Lesen sie die antworten

#1 Wolfgang Kutsche
16/06/2009 - 18:09 | Warnen spam
Hallo Richard,

mit Sheets(1).QueryTables(1).ResultRange.Rows.Count werden die in der
Excel-Tabelle mit der QueryTabelle belegten Zeilen gezàhlt. Dies sind die
Zeilen, die bei einem Rechtsklick die Option 'Daten aktualisieren' zeigen.
Dies ist unabhàngig davon, ob eine der gezeigten Datensatz-Variablen leer ist.
Wàre .ResultRange.Rows.Count = 0, würde die QueryTabelle in der
Excel-Tabelle nicht existieren.
.ResultRange.Rows.Count dient lediglich dazu, die Anzahl der mit der
QueryTabelle belegten Zeilen darzustellen ... über deren Inhalt wird nichts
ausgesagt.
Gruß Wolfgang
WinXP Home SP3, Office 2003 SP3 & 2007 SP1
http://www.wk-bau-edv.de


"Richard Ohl" wrote:

Hallo,
ich hoffe, dass ihr mir mit Querytables helfen könnt (ich habe bereits in
microsoft.public.office.developer.vba geposted, aber ohne Erfolg).

Ich habe ein bisschen Code, dass auf einem Worksheet diverse Querytables
untereinander anlegt. Die Daten kommen aus Stored Procedures.
Das funktioniert auch alles, nur kommt, wenn das Resultset leer ist, in
meinem querytableobject.ResultRange.Rows.Count eine 2 raus. Wenn allerdings
tatsàchlich 1, 2 oder mehr Ergebnisse da sind , stimmt der Count - deswegen
kann ich den count von 2 nicht einfach ignorieren.
Im Query Analyser oder in MS Query werden die jeweils korrekten (teilweise
halt leeren) Ergebnisse richtig angezeigt. NOCOUNT ist auf ON in den
Procedures.
Ich würde mich freuen, falls jemand einen Tipp für mich hàtte.
Viele Grüße,
Richard
Einmal dachte ich, ich hàtte unrecht. Aber ich hatte mich ausnahmsweise
getàuscht. (Graf Fito)

Ähnliche fragen