Meinews.de  


Zurück   Meinews.de > Forum > Newsgroups microsoft.public.de.* 1 Forum > Newsgroup microsoft.public.de.access
Registrieren FAQ Benutzerliste Kalender Suchen Heutige Beiträge Alle Foren als gelesen markieren

Newsgroup microsoft.public.de.access Forum microsoft.public.de.access

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 11-06-2009, 02:55 PM
Michael Alexander
 
Beiträge: n/a
Standard Fehler in Oliver Tillmann's "Query-Assistent"

Hallo!

Ich habe Olivers Query-Assistent in meine Acc07-DB eingebuat und dort
funktioniert der Export nach Excel nicht, weil ein ganz seltsames Verhalten
auftritt und ich weder eine Erklärung dafür habe, noch den Fehler finde.

Wenn ich en QA nach Acc07 konvertiere funktioniert er.

Ich speichere eine Abfrae ab, deren SQL-String z.B. 343 Zeichen lang ist.

Diese Abfrage mit irgendeinem Namen kann man bestens nach Excel exportieren.

Ich habe die tbls und beide frms samt Code in meine DB importiert und dort
bricht der Export mit Fehlermeldungen ab.
Für die, die diesen QA nicht kennen:

Es wird eine tmp Query gebildet aus dem SQL-String, der in einer tbl in
einem MEMO-Feld gespeichert wird, abgerufen wird der String aus einer Spalte
eines Listenfeldes:
Function tmpqry()
Dim db As Database, qrydef As QueryDef
Set db = CurrentDb()
Set qrydef = db.CreateQueryDef(Me![ListeBenutzerabfragen].Column(1),
Me![ListeBenutzerabfragen].Column(2))
End Function

Me![ListeBenutzerabfragen].Column(1) ist der Name der qry, z.B. "test"
Me![ListeBenutzerabfragen].Column(2) ist der SQL-String, z.b: SELECT ....

Wenn ich mir die beiden Felder im Abfrage-Generator der Datenherkunft des
Listenfeldes ansehe, ist der SQL-String richtig in der Länge, z.B. 343
Zeichen lang, bei der Ausführung der o.a. Function bricht er nach 255
Zeichen ab!!

D.h. ein Debug.Print Me![ListeBenutzerabfragen].Column(2) bringt nur 255
Zeichen!!

Eine SQL < 255 Zeichen hingegen funktioniert ohne Probleme!

Bei der Original-MDB wird der gesamte gespeicherte String ausgeführt, daher
funktioniert der Export. Ich habe den Code jedoch 1:1 übernommen.

Hat jemand eine Idee, was da schief läuft??

Anm.: in der Zwischenzeit habe ich es anders gelöst, aber interessante wäre
es schon, woran das liegen kann.
Workaround:
Function tmpqry()
Dim db As Database, qrydef As QueryDef
Dim strSQL As String
strSQL = DLookup("SQLString", "tbl_StoredQuerys", " [ID]= " &
Me![ListeBenutzerabfragen])
Set db = CurrentDb()
Set qrydef = db.CreateQueryDef(Me![ListeBenutzerabfragen].Column(1), strSQL)
End Function


Danke
Michael

Acc07 SP2, Viste HE SP2


Mit Zitat antworten
Alt Today
Advertising
Google Adsense
 
This advertising will not be shown
in this way to registered members.
Register your free account today
and become a member on
Meinews.de
Standard Sponsored Links

  #2  
Alt 11-06-2009, 06:37 PM
Karl Donaubauer
 
Beiträge: n/a
Standard Re: Fehler in Oliver Tillmann's "Query-Assistent"

Michael Alexander wrote:
>
> Ich habe Olivers Query-Assistent in meine Acc07-DB eingebuat und dort
> funktioniert der Export nach Excel nicht, weil ein ganz seltsames
> Verhalten auftritt und ich weder eine Erklärung dafür habe, noch den
> Fehler finde.
> Wenn ich en QA nach Acc07 konvertiere funktioniert er.
>
> Ich speichere eine Abfrae ab, deren SQL-String z.B. 343 Zeichen lang
> ist.
> Diese Abfrage mit irgendeinem Namen kann man bestens nach Excel
> exportieren.
> Ich habe die tbls und beide frms samt Code in meine DB importiert und
> dort bricht der Export mit Fehlermeldungen ab.
> Für die, die diesen QA nicht kennen:
>
> Es wird eine tmp Query gebildet aus dem SQL-String, der in einer tbl
> in einem MEMO-Feld gespeichert wird, abgerufen wird der String aus
> einer Spalte eines Listenfeldes:
> Function tmpqry()
> Dim db As Database, qrydef As QueryDef
> Set db = CurrentDb()
> Set qrydef = db.CreateQueryDef(Me![ListeBenutzerabfragen].Column(1),
> Me![ListeBenutzerabfragen].Column(2))
> End Function
>
> Me![ListeBenutzerabfragen].Column(1) ist der Name der qry, z.B. "test"
> Me![ListeBenutzerabfragen].Column(2) ist der SQL-String, z.b: SELECT
> ....
> Wenn ich mir die beiden Felder im Abfrage-Generator der Datenherkunft
> des Listenfeldes ansehe, ist der SQL-String richtig in der Länge,
> z.B. 343 Zeichen lang, bei der Ausführung der o.a. Function bricht er
> nach 255 Zeichen ab!!
>
> D.h. ein Debug.Print Me![ListeBenutzerabfragen].Column(2) bringt nur
> 255 Zeichen!!
>
> Eine SQL < 255 Zeichen hingegen funktioniert ohne Probleme!
>
> Bei der Original-MDB wird der gesamte gespeicherte String ausgeführt,
> daher funktioniert der Export. Ich habe den Code jedoch 1:1
> übernommen.
> Hat jemand eine Idee, was da schief läuft??
> ...


Bist du sicher, dass es in älteren Versionen mit mehr als 255 Zeichen
funktioniert? Listenfelder können in allen Access-Versionen maximal
255 Zeichen pro Spalte enthalten. Das ist also eine ewige Grenze.

Oder geht es da auch irgendwie um den Export nach Excel?
Den Punkt habe ich nicht ganz verstanden. Bei Exporten nach Excel
kann das Verhalten bezüglich des Abschneidens von Memos in
versch. Access-Versionen durchaus unterschiedlich sein.

--
Servus
Karl
********* Ich beantworte keine Access-Fragen per Email. *********
Access-FAQ: http://www.donkarl.com


Mit Zitat antworten
  #3  
Alt 11-06-2009, 07:12 PM
Michael Alexander
 
Beiträge: n/a
Standard Re: Fehler in Oliver Tillmann's "Query-Assistent"

Hallo Karl!

Sorry, habe mich verklick und auch direkt an dich genantwortet..
Hier nochmals in der NG...

"Karl Donaubauer" <NoSpam*donkarl.com> schrieb im Newsbeitrag
news:7lj8nvF3egh7fU1*mid.individual.net...
> Michael Alexander wrote:
>>
>> Ich habe Olivers Query-Assistent in meine Acc07-DB eingebuat und dort
>> funktioniert der Export nach Excel nicht, weil ein ganz seltsames
>> Verhalten auftritt und ich weder eine Erklärung dafür habe, noch den
>> Fehler finde.
>> Wenn ich en QA nach Acc07 konvertiere funktioniert er.
>>
>> Ich speichere eine Abfrae ab, deren SQL-String z.B. 343 Zeichen lang
>> ist.
>> Diese Abfrage mit irgendeinem Namen kann man bestens nach Excel
>> exportieren.
>> Ich habe die tbls und beide frms samt Code in meine DB importiert und
>> dort bricht der Export mit Fehlermeldungen ab.
>> Für die, die diesen QA nicht kennen:
>>
>> Es wird eine tmp Query gebildet aus dem SQL-String, der in einer tbl
>> in einem MEMO-Feld gespeichert wird, abgerufen wird der String aus
>> einer Spalte eines Listenfeldes:
>> Function tmpqry()
>> Dim db As Database, qrydef As QueryDef
>> Set db = CurrentDb()
>> Set qrydef = db.CreateQueryDef(Me![ListeBenutzerabfragen].Column(1),
>> Me![ListeBenutzerabfragen].Column(2))
>> End Function
>>
>> Me![ListeBenutzerabfragen].Column(1) ist der Name der qry, z.B. "test"
>> Me![ListeBenutzerabfragen].Column(2) ist der SQL-String, z.b: SELECT
>> ....
>> Wenn ich mir die beiden Felder im Abfrage-Generator der Datenherkunft
>> des Listenfeldes ansehe, ist der SQL-String richtig in der Länge,
>> z.B. 343 Zeichen lang, bei der Ausführung der o.a. Function bricht er
>> nach 255 Zeichen ab!!
>>
>> D.h. ein Debug.Print Me![ListeBenutzerabfragen].Column(2) bringt nur
>> 255 Zeichen!!
>>
>> Eine SQL < 255 Zeichen hingegen funktioniert ohne Probleme!
>>
>> Bei der Original-MDB wird der gesamte gespeicherte String ausgeführt,
>> daher funktioniert der Export. Ich habe den Code jedoch 1:1
>> übernommen.
>> Hat jemand eine Idee, was da schief läuft??
>> ...

>
> Bist du sicher, dass es in älteren Versionen mit mehr als 255 Zeichen
> funktioniert? Listenfelder können in allen Access-Versionen maximal
> 255 Zeichen pro Spalte enthalten. Das ist also eine ewige Grenze.
>
> Oder geht es da auch irgendwie um den Export nach Excel?
> Den Punkt habe ich nicht ganz verstanden. Bei Exporten nach Excel
> kann das Verhalten bezüglich des Abschneidens von Memos in
> versch. Access-Versionen durchaus unterschiedlich sein.
>

Ja, letztendlich geht es um den Export nach Excel, aber die SQL, die
"beschnitten" wurde, stellt nur den Datenherkunft der qry dar, die zum
Export benützt wird.
im Original lautete die Zeile so:
DoCmd.OutputTo acOutputQuery, Me!ListeBenutzerabfragen.Column(1),
acFormatXLS, Anwendungspfad & Me!ListeBenutzerabfragen.Column(1) & "_" &
Date & ".xls", True

Ich habe nun eine tmpqry angelegt, weise der immer nur mit
strSQL = DLookup("SQLString", "tbl_StoredQuerys", " [ID]= " &
Me![ListeBenutzerabfragen])
CurrentDb.QueryDefs("tmpqry").SQL = strSQL

eine neue SQL zu und verwende die tmpqry als "fixe" Abfrage für den Export.

DoCmd.OutputTo acOutputQuery, "tmpqry", acFormatXLS, Anwendungspfad &
Me!ListeBenutzerabfragen.Column(1) & "_" & Date & ".xls", True

So geht es nun.

Was mich eben interessiert hätte ist, warum es unter Acc07 mit der
original-DB von Oliver funktionierte und bei meiner DB - wie gesagt, alle
Objekte wurden 1:1 imporiert - wurde der String irgendwodurch beschnitten.

Michael


> --
> Servus
> Karl
> ********* Ich beantworte keine Access-Fragen per Email. *********
> Access-FAQ: http://www.donkarl.com
>


Mit Zitat antworten
 
Antwort


Themen-Optionen
Ansicht

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen
Es ist dir nicht erlaubt, auf Beiträge zu antworten
Es ist dir nicht erlaubt, Anhänge anzufügen
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten

vB Code ist An
Smileys sind An
[IMG] Code ist An
HTML-Code ist Aus

Ähnliche Themen
Thema Erstellt von Forum Antworten Letzter Beitrag
Query mit "@id between minid and maxid" schneller machen Christian Stüben Newsgroup microsoft.public.de.german.entwickler.dotnet.datenbank 7 10-19-2009 10:38 AM
keine Netzwerkverbindungen mehr nach Assistent "Internetadresse einrichten", SBS2008 Andreas Volkert Newsgroup microsoft.public.de.windows.server.sbs 13 08-17-2009 11:28 AM
Entfernen des Add-ons "Microsoft .NET Framework Assistent 1.0" Sascha Grage Newsgroup de.comm.software.mozilla.browser 53 05-03-2009 04:48 AM
Assistent "Verbindung mit dem Internet" = Fehler Lutz Rahe Newsgroup microsoft.public.de.german.backoffice.smallbiz 2 03-19-2008 11:01 PM
Assistent für "Verbindung mit dem Internet" = Fehler Lutz Rahe Newsgroup microsoft.public.de.windows.server.sbs 11 03-19-2008 11:00 PM


Alle Zeitangaben in WEZ. Es ist jetzt 10:15 AM Uhr.





Powered by: vBulletin Version 3.6.7 (Deutsch)
Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
Forum SEO by Zoints