Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Wenn Felder leer sind kommt Fehlermeldung

Begonnen von maniaspets, Oktober 13, 2010, 11:06:42

⏪ vorheriges - nächstes ⏩

maniaspets

Habe folgendes Problem.

Bei meiner Druckfunktion kommt eine Fehler meldung wenn nichts in den Feldern steht.
"Unzulässige Verwendung von Null"

Dies ist mir auch Klar

Habe es jetzt mit If Not isNull versucht doch ich bekomms nicht richtig hin
funktioniert halbwegs aber es kommt ebenso eine Fehlermeldung

hier ein Teil des Codes für den Drucker.
Call EPL_File_export("Adressen", Me!Anrede, Me!Vorname & " " & Me!Nachname, Me!Strasse, Me!PLZ & " " & Me!Ort, Me!Land, Me!FreiTextfeld, "", "2")

mfg
Manuel

DF6GL

Hallo,

benutz für alle betroffenen Felder die nz()-Funktion:

Call EPL_File_export("Adressen", nz(Me!Anrede,"") , Me!Vorname & " " & Me!Nachname, Me!Strasse, Me!PLZ & " " & Me!Ort, Me!Land, Me!FreiTextfeld, "", "2")

database

Hallo, du KÖNNTEST einmal versuchen, die NULL-Inhalte abzufangen.
Das macht man in der Regel mit Hilfe der NZ-Funktion also sinngmäß folgendermasßen:

Call EPL_File_export("Adressen", NZ(Me!Anrede,""), NZ(Me!Vorname,"") & " " & NZ(Me!Nachname,""), NZ(Me!Strasse,""), NZ(Me!PLZ,"") & " " & NZ(Me!Ort,""), NZ(Me!Land,""), NZ(Me!FreiTextfeld,""), "", "2")

Wobei zu bemerken sei:

Sinnvoll wäre es, jene Felder, UNBEDINGT befüllt sein müsssen in der Tabelle als solche zu definieren.
Also z.B. beim Vornamen  Eingabe erforderlich JA, Leere Zeichenfolge NEIN
Wird dann eine Neue Adresse angelegt und der Vorname nicht ausgefüllt wird sich Access darüber mokieren.
Damit du aber den Benutzer nicht zum Wahnsinn treibst solltest du das nur bei jenen Feldern machen, die UNBEDINGT gefüllt werden sollen und diese auch mit einem roten Sternchen z.B. am Formular kennzeichnen.
Beim FreiText würde das wenig Sinn machen, den fängst du mit der NZ-Funktion ab.

Lies auch in der Online-Hilfe über NZ nach!

HTH
Peter

maniaspets

Ja danke erstmal funktioniert gut!

Kannte diese Funktion gar nicht.

Ja werd mir das mal ansehen wie ichs dann mache.

Danke

mfg
Manuel

maniaspets

Und wie würde es mi IF funktionieren??

für die Felder
Me!Vorname
          Me!Nachname
          Me!Strasse
          Me!PLZ
          Me!Ort
          Me!Land
          Me!FreiTextfeld


würde für mich selber interessieren wie dies funktioniert.

DF6GL

Hallo,



If IsNull(Me!Vorname) Then
    'mach was Passendes, wenn Me!Vorname NULL ist, z. B.:     Me!Vorname=""
End If
If IsNull(Me!Nachname ) Then
    'mach was Passendes, wenn Me!Nachname NULL ist
End If
.
.
.
.



database

#6
Verstehe jetzt nicht ganz was du damit meinst ...

Freilich kann man auch mit einer Bedingung feststellen ob ein Feld ausgefüllt ist oder nicht aber das ist ein wenig umständlicher.

Du KÖNNTEST das z.B. im Ereignis 'Vor Aktualisierung' des Formulars machen (für JEDES benötigte Feld!)


Private Sub Form_BeforeUpdate(Cancel As Integer)

   If IsNull(Me!Nachname) Then
       MsgBox "Der Nachname muss angegeben werden!", vbExclamation, "Adressdaten"
       Me!Nachname.SetFocus
       Cancel = True
   End If

   'hier weitere Bedingungen für andere Felder einfügen
   
End Sub

hast du das gemeint?


EDIT: acResponse....    raus genommen, hat da nix zu suchen  :-\

database

Hmmmm...

@DF6GL
...ich muss mich kürzer fassen sonst habe ich keinen Zeitvorteil  ;D ;D ;D ;)

DF6GL

Hallo Peter,

nee, überlass es mir, wenig Prosa zu schreiben...  ;D .  Ich bin ziemlich schreibfaul..   8)

Ich warte lieber nächstes Mal ein bißchen länger mit meinen Antworten/Beiträgen...   ;)

maniaspets


database

Sehr gut, freut uns...  ;)

Nicht vergessen, bitte Beitrag auf 'gelöst' setzen, wenn alle Klarheiten beseitigt wurden  ;)

Grüße

DF6GL

@database:


Response = acDataErrContinue     ???    ;)


Du solltest Dir ruhig Zeit lassen, ich warte ja jetzt länger......  :P ;D ;D ;D ;D ;D

database

#12
@Franz

12. Gebot:

Du sollst keinen Code kopieren und dann unvollständig gelesen auf SENDEN klicken!  >:( >:( ;D

Das Teil stammt aus einer NotInList aus einer alten Muster DB  -- selber schreiben wäre manchmal wirklich g'scheiter

Zitatich warte ja jetzt länger......  
... danke, das hab' ich jetz gebraucht  :D :D

Oh mann mir schläft langsam das Sitzfleich ein - ich bin schon froh, wennn ich kommende Woche wieder arbeiten gehen kann.