Re: High Value
From: Henry Habermacher [MVP Access] (DontSpamHenry_at_psp-online.com)
Date: 02/17/04
- Next message: Gernot Adams: "Re: Memofeld formatieren - FAQ 2.17"
- Previous message: Andreas: "Re: Delete Operation löscht nicht alles was sie löschen sollte"
- In reply to: Peter Doering: "Re: High Value"
- Next in thread: Gerhard Huber: "High Value"
- Messages sorted by: [ date ] [ thread ]
Date: Tue, 17 Feb 2004 20:52:23 +0700
Hallo Peter
Peter Doering <nospam@doering.org> typed:
> So gibt es das in Access nicht. Das Pendant Low Value entspricht Null
> (= 'H00'). Evtl. koenntest du 'HFF' benutzen (hab ich nie getestet),
> laeufst aber in die gleichen Probleme wie bei Null, d.h.
> Stringvergleiche schlagen fehl.
Das stimmt nicht so ganz. NULL ist kein definierter Wert 'H00' oder \0 wie
C-Programmierer sich gewohnt sind zu schreiben, ist /nicht/ Bestandteil des
Feldinhaltes, sondern ein Attribut. Daher kannst Du gemäss ANSI auch nicht
eine Abfrage über solche Felder machen. Siehe dazu die SQL Books Online zum
Thema Ansi_Null.
Eine Abfrage über ein Feld mit dieser Bedingung:
WHERE Feld = 'A' OR Feld <> 'A'
wird kein Datensatz zurückliefern, wenn das Fell NULL ist, in diesem Fall
müsste es nämlich:
WHERE Feld = 'A' OR Feld <> 'A' OR FELD IS NULL
heissen. Das ist auch der Grund, wieso es eine IsNull() Funktion gibt und
eine Prüfung in VBA wie
IF Feld = NULL Then
nicht zulässig ist.
Hingegen hast Du recht, dass das Füllen mit 'z' ausreichen sollte. Genau
genommen sieht aber auch das anders aus: Hier die Reihenfolge, wenn Du
Option Compare Text eingestellt hast (was der Standard Sortierreihenfolge in
der Datenbank entspricht)
(A=a) < ( À=à) < (B=b) < (E=e) < (Ê=ê) < (Z=z) < (Ø=ø)
(aus der OH von Access 97)
es gibt also zwei Möglichkeiten, das hinzubekommen, entweder mit der
Funktion strComp() in der Where-Bedingung, zu der Karl bereits angetönt hat,
dass er demnächst mal einen FAQ Artikel schreiben wird, oder durch
Verwendung des nordischen Buchstabens Ø in der String() Funktion als Ersatz
für den Cobol-High-Value.
Das würde dann so aussehen:
Dim strAuswahlBis As String * 5
strAuswahlBis = "ZL" & String(5, "Ø")
Hoffe, damit endgültig ein Durcheinander angerichtet zu haben
Gruss Henry
-- Keine E-Mails auf Postings in NGs senden! Don't send e-mails to postings in newsgroups! KB: http://support.microsoft.com/default.aspx FAQ: http://www.donkarl.com/FAQ/FAQStart.htm OH: Online Hilfe von Microsoft Access (Taste F1) Downloads: http://www.dbdev.org
- Next message: Gernot Adams: "Re: Memofeld formatieren - FAQ 2.17"
- Previous message: Andreas: "Re: Delete Operation löscht nicht alles was sie löschen sollte"
- In reply to: Peter Doering: "Re: High Value"
- Next in thread: Gerhard Huber: "High Value"
- Messages sorted by: [ date ] [ thread ]
Relevant Pages
|