2009-02-17 4 views

Antwort

15

In VBA vbCrLf wird die Leitung konstant brechen (zusammen mit vbCr und vbLf).

In einer Zeichenfolge Datenspalte ist es Chr(13) + Chr(10) (was vbCrLf wie definiert ist).

7

Während vbCrLf, vbCr und vbLf vorhanden sind, ist es besser, vbNewLine zu verwenden.

Warum?
1) Weil vbNewLine die Newline-Sequenz für das aktuelle Betriebssystem (die sich ändern kann) im Vergleich zu den anderen drei Zeilen ausgibt, die nur die Wagenrücklauf- und Zeilenvorschubzeichen ausgeben.
2) Weil es weniger kryptisch ist. Mit vbCr ist nur ungefähr so ​​schlecht wie chr (13)

Das logische Comeback ist ... komm, wenn MS jemals die Newline ändern wird, würden sie verrückt sein. Wie es ist, Portabilität. Es gibt bereits .Net-Ports zu unix/linux und es gibt keinen Grund, dass der MS-Zugang dort auch nicht emuliert werden kann. (Zum Beispiel vielleicht in Wein)

bearbeiten

A parallel zu dieser Idee wäre mit \ n in C und C++ sein vs Eingabe \ f \ r. \ n gibt Ihnen die native Newline-Sequenz (auch wenn Sie von Unix zu Windows auf Mac zu Vax zu QNX wechseln). Keine bedingten Anweisungen, keine Änderungen. Es funktioniert einfach.

+1

Was genau hat .NET mit Access zu tun? Ich muss sagen, ich denke, dein Vorschlag ist verrückt. :) –

+1

.Net ist nur ein paralleles Beispiel. Ich nehme an, dass Sie möglicherweise eine MS-Access-App in Wine ausführen können (keine Ahnung, aber die Philosophie ist die gleiche). – BIBD

+3

+1. Dies ist ein gültiger Punkt. Es gibt normalerweise keinen guten Grund, nicht für optimale Portabilität zu kodieren - jetzt oder in Zukunft. – bernie