ich hab mal wieder ein Problem: ich versuche in VBA von Acc2K einen Recordset mit 'nem SQLString zu öffnen, merkwürdigerweise lässt sich die Variable nur bis 253 (?) Zeichen auffüllen, obwohl in der Hilfe was von 64000 Zeichen Fassungsvermögen steht?!?
//schnipp///
Byte = 0 bis 255
Boolean = True oder False
Integer = -32.768 bis 32.767
Long = -2.147.483.648 bis 2.147.483.647
Single = -3,402823E38 bis -1,401298E-45 für negative Werte; 401298E-45 bis 3,402823E38 für positive Werte.
Double = 1,79769313486232E308 bis
-4,94065645841247E-324 für negative Werte; 4,94065645841247E-324 bis 1,79769313486232E308 für positive Werte.
Currency = -922.337.203.685.477,5808 bis 922.337.203.685.477,5807
Decimal = +/-79.228.162.514.264.337.593.543.950.335 ohne Dezimalzeichen; +/-7,9228162514264337593543950335 mit 28 Nachkommastellen; die kleinste Zahl ungleich Null ist
+/-0,0000000000000000000000000001.
Date = 1. Januar 100 bis 31. Dezember 9999.
Object = Beliebiger Verweis auf ein Objekt vom Typ Object.
String (variable Länge) = plus Zeichenfolgenlänge 0 bis ca. 2 Milliarden.
String (feste Länge) = Zeichenfolgenlänge 1 bis ca. 65.400
Variant
(mit Zahlen) = Numerische Werte im Bereich des Datentyps Double.
(mit Zeichen) = Wie bei String mit variabler Länge.
//schnapp//
Versuch mal das ganze ohne die DIM-Anweisung… schau ob es so geht… wenn es geht, dann kannst Du mal versuchen die Variable ned als String sondern irgendwie als Variant zu definieren oder so…
String (variable Länge) = plus Zeichenfolgenlänge 0 bis ca. 2
Milliarden.
String (feste Länge) = Zeichenfolgenlänge 1 bis ca. 65.400
nach dem müsste die Variable String, fest oder variable, doch genug Platz bieten?!?
Versuch mal das ganze ohne die DIM-Anweisung… schau ob es
so geht… wenn es geht, dann kannst Du mal versuchen die
Variable ned als String sondern irgendwie als Variant zu
definieren oder so…
Ohne Dim is’ blöd - von wegen Option Explicit und Arbeitstempo…
Hab’s aber tropsdem versucht, auch mit Variant - der gleiche Effekt… ((
Noch 'ne Idee?
Das ist durchaus möglich - nur kann ich das nicht checken, weil ich dieses verflixte Ding nicht in die Variable kriege *fluch-zeter-schimpf*
Wie hast Du es denn getestet?
boah, ey, nu isser komplett - jetzt kann ich mich auch über die Fehlerkorrektur innerhalb des SQL hermachen - bleibt nur noch die Frage einsam im Raum stehen, warum das vorher nicht ging *grybelnd*
Erstelle darin KEINE Tabelle, sondern eine Abfrage (in der Entwurfsansicht)
Wechsle in der Abfrage in die SQL-Ansicht (button oben links)
Füge folgenden SQL-Code ein:
SELECT Artikel.Artikel, VKBestelldetails.Menge, VKBestelldetails.Einzelpreis, VKBestelldetails.Rabatt FROM VKBestellungen INNER JOIN (Artikel INNER JOIN VKBestelldetails ON Artikel.ArtikelNummer = VKBestelldetails.ArtikelNummer) ON VKBestellungen.VKBestellNummer = VKBestelldetails.VKBestellNummer WHERE (((VKBestelldetails.VKBestellNummer)=" & letztBest & „) AND ((VKBestellungen.Firmennummer)=“ & [Forms]![Bestellungen eingeben]![Firmennummer] & „) AND ((VKBestellungen.Abteilungsname)=’“ & [Forms]![Bestellungen eingeben]![Abteilungsname] & "’) AND ((VKBestellungen.Art) =‚Bestellung‘))
Wechsle mit dem Button in die Entwurfsansicht zurück…
Wenn Du nen Fehler bekommst, dass irgendeine Tabelle nicht vorhanden ist, ist es ok. Wenn Du aber einen Syntaxfehler hast, dann ist ein Fehler im SQL-String.
boah, ey, nu isser komplett - jetzt kann ich mich auch über
die Fehlerkorrektur innerhalb des SQL hermachen - bleibt nur
noch die Frage einsam im Raum stehen, warum das vorher nicht
ging *grybelnd*
nun, die maximale Länge eines String ist so groß wie der verfügbare Speicher, dafür ist aber die Länge einer VB-Codezeile begrenzt. Deswegen kann man Zeilen mit einem Abschließenden Leerzeichen+Unterstrich „verlängern“.
den Trick kannte ich noch nicht - aber unabhängig davon war das SQL-Statement tatsächlich verkehrt (die beiden „ON“-Teile verdreht)
Dank Dir für die Hilfe…
nun, die maximale Länge eines String ist so groß wie der
verfügbare Speicher, dafür ist aber die Länge einer
VB-Codezeile begrenzt. Deswegen kann man Zeilen mit einem
Abschließenden Leerzeichen+Unterstrich „verlängern“.
Hai, Markus,
sonst klppte es auch immer mit dem „zusammenbasteln“ (sqlstring = sqlstring & „bla, bla“) und bei der Unterstrich-Geschichte hab ich das Leerzeichen vergessen - daher streikte die Methode wohl…
Dank Dir für die Hilfe