title image


Smiley max. Zeichen pro Zeile in VBA-Modul?!?
Hi, ich greife mit Excel mit dem unteren Code auf eine Datenbank zu. Wie man sieht ist der SQL-String ziemlich lang und wird mehrmals umgebrochen.

Nun gibt es folgendes Problem: auf meinem Rechner funzt das alles wunderbar, aber es gibt einige Rechner, auf denen wird immer ein "allgemeiner ODBC-Fehler" ausgegeben. Ich habe nun festgestellt, dass sich dies u.U. beheben lässt, wenn man noch 2-3 Umbrüche mehr einbaut und somit die Zeilenlängen etwas verkürzt. Nun meine Frage:



Gibt es maximale Zeilenlängen im VBA-Code mit denen Excel zurechtkommt? Und wenn ja, warum sind die von PC zu PC unterschiedlich. Kennt jemand dieses Phänomen und hat vielleicht noch den ein oder anderen Tipp für mich? Denn ich finde die Situation sehr unbefriedigend, es nervt nämlich gewaltig etwas zu programmieren, das auf dem eigenen Rechner wunderbar läuft, auf 1-2 Testrechner auch, aber auf 15 anderen im laufenden Betrieb wieder nicht.



Oder bleibt mir nichts anderes übrig als die Zeilenlängen möglichst kurz zu halten und zu hoffen? (beliebig kurz ist auch nicht möglich, weil auch die Zahl der Umbrüche begrenzt ist).



With ActiveSheet.QueryTables.Add(Connection:=Array(Array( _

"ODBC;DSN=Sample C/ODBC 32 bit;CSF=Yes;SName=xxx;NType=tcp;PPath=C:\Programme\Navision Financials;UID=exceldata;PWD=xxx;CN=Tensid;SERVER=" _

), Array("N;")), Destination:=Range("A" + CStr(start_row)))

.CommandText = Array( _

"SELECT Statistikposten.Herkunftsnr_,Statistikposten.Suchbegriff, Statistikposten.Betrag, Statistikposten.Rohmarge FROM Statistikposten Statistikposten WHERE " + altdatenJaNein _

, "(Statistikposten.Buchungsdatum={d '" + jahr_beginn + "-" + monat_beginn + "-" + tag_beginn + "'}) " + bedingung _

)

.Name = "ExterneDaten_3"

.FieldNames = False

.RowNumbers = False

.FillAdjacentFormulas = False

.PreserveFormatting = True

.RefreshOnFileOpen = False

.BackgroundQuery = True

.RefreshStyle = xlOverwriteCells

.SavePassword = True

.SaveData = True

.AdjustColumnWidth = True

.RefreshPeriod = 0

.PreserveColumnInfo = True

.Refresh BackgroundQuery:=False

End With



geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: