Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Problem mit Konstanten

Begonnen von Lexboro, August 20, 2010, 14:24:27

⏪ vorheriges - nächstes ⏩

Lexboro

Hallo zusammen,

vielleicht liegt es ja an der Sonne, die ab heute so herrlich scheint....

Ich möchte eine Konstante als String außerhalb der darstellbaren Zeichen definieren.
Diese Zeile funktioniert:

Private Const str31           As String = "1"

Aber in der folgenden Schreibweise eben nicht:

Private Const str0A           As String = chr$(10)


Frage, hat jemand einen Tip, wie man Konstanten festlegt, die zu den nicht darstellbaren Zeichen gehören ?


Viele Grüße

Kiui

Servus Lex,

hats Du's aml so probiert?

Private Const str0A As String = vbNewLine

Hab mir gerade mal ne msgbox aus 3 Konstanten zusammensetzen lassen, der Zeilenwechsel in o.g. Art hat dabei funktioniert

Gruß aus Berlin
Pat
verwendete Access-Versionen: zumeist Access 2007 (gezwungenermaßen)

Kenntnisse VBA: passabel (find ich zumindest)
Kenntnisse SQL: naja...geht so

Lexboro

Hallo Pat,

na ja... so richtig funktioniert es eben leider doch nicht, da es zwingend ein String sein muss.

vbNewLine erzeugt wohl Variant oder Integer aber keinen String......

Das richtige Beispiel dazu:
Habe eine Datei, wo die Felder durch &HA voneinander getrennt sind. Kannst Du Dir ja auch mal schnell erzeugen. Diese Datei dursuche ich u.a. mit dem Wert der String-Variable mittels INSTR und entnehme Textbereiche mit MID$ bzw. LEFT$ und RIGHT$.


Viele Grüße

DF6GL

Hallo,


Zitatso richtig funktioniert es eben leider doch nicht, da es zwingend ein String sein muss
???

ZitatvbNewLine erzeugt wohl Variant oder Integer aber keinen String

da kocht die Gerüchteküche und ist schlichtweg falsch.




Wenn lediglich chr(10) benötigt wird, lautet die entspr. VBA-Konstante vbLf  (LineFeed == chr(10) )

Und wozu eine "Neue Zeile"  (vbLf, chr(10)) nochmal als Konstante deklarieren, wenn vbLf schon eine solche ist?
Wenn, denn:

Const str0A As String = vbLf


Eine Zuweisung direkt mit &HA als Hex10 dürfte auch nicht funktionieren, so es denn die Ziffern 1 und 0 ("10") ergibt.


Lexboro

Hallo Franz,

so wie Du es geschrieben hast funktioniert es !! Const str0A As String = vbLf         DANKE !!
Es geht nicht in der Form Const str0A As String = vbNewLine

Ich hab da noch ein paar mehr Zeichen, die ich auch gerne auf diese Art definieren würde als da sind &H00, &H8, &HE, &H13, &H18, &H1A und &H1E. Könntest du mir bitte auch sagen, wie ich die definieren muss oder mir eine Quelle geben, wo ich das entnehmen kann ?


Viele Grüße

DF6GL

Hallo,


ZitatEs geht nicht in der Form Const str0A As String = vbNewLine

sag ich doch.   vbNewline ist chr(13) & chr(10)


Nachdem in VBA keine Funktionen im Deklarationsausdruck einer Konstanten möglich sind, kannst Du  evtl. solches verwenden:

Property Get cNull() As String
cNull = Chr(&H00)
End Property



Property Get cLF() As String
cLF = Chr(&H10)
End Property


und etwa so benutzen:


Msgbox "Jetzt" & cLF & "kam eine neue Zeile"