Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
If then elseif mit string und NULL
zurück: Dateien öffnen speichern und verlinken. weiter: Datensatz im Datenblatt auswählen und im Formular Textfeld a Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Antwort Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
ironpete
Im Profil kannst Du frei den Rang ändern


Verfasst am:
28. Apr 2014, 16:34
Rufname:

If then elseif  mit string und NULL - If then elseif mit string und NULL

Nach oben
       Version: Office 2010

Servus,

ich habe 4 Kombofelder, die in einem Formular ausgewählt werden sollen. Grundsätzlich sind die Kombofelder mit = NULL gefüllt, damit sie nach jedem Ausfüllen wieder leer sind.

Nun möchte ich bei Nichtausfüllen der Kombofelder eine msgbox ausgeben. Bei der Auswahl des letzten Eintrags im Kombifeld, soll zudem eine andere msgbox erscheinen.
Leider wird die elseif Prüfung nicht beachtet/gefunden/ausgeführt.

Code:
If IsNull(Form_Startfenster!Kombi_Fehlercode) Then
    MsgBox ("Bitte Fehlercode eingeben.")

ElseIf (Form_Startfenster!Kombi_Bereich) = "Qualitätsprobleme ext. Lieferanten" Then
    MsgBox ("test")
   
Else
...



Ich habe es auch so probiert:

Code:
Dim Fehlercode As String
Fehlercode = Kombi_Fehlercode

If IsNull(Form_Startfenster!Kombi_Fehlercode) Then
    MsgBox ("Bitte Fehlercode eingeben.")

ElseIf Fehlercode = 10 Then
    MsgBox ("test")


Hier heißt die Meldung "Unzulässige Verwendung von Null", wahrscheinlich weil Null nicht string, sondern variant ist.

Wie kann ich Null und string in einer if Schleife überprüfen?
Gast



Verfasst am:
28. Apr 2014, 16:41
Rufname:

AW: If then elseif  mit string und NULL - AW: If then elseif mit string und NULL

Nach oben
       Version: Office 2010

Zitat:
...in einer if Schleife überprüfen...

Wüsste nicht das man mit "if" eine Schleife bauen kann (und jetzt bitte keinen Hinweis auf "Goto"!) Razz
Du könntest aber sicherlich eine Schleife bauen, z.B.:
Code:
For each mycontrol in Me.Controls
...
Next


HTH
MissPh!
Office-VBA-Programmiererin


Verfasst am:
28. Apr 2014, 17:03
Rufname:
Wohnort: NRW

AW: If then elseif  mit string und NULL - AW: If then elseif mit string und NULL

Nach oben
       Version: Office 2010

Hallo,
Zitat:
Code:
If IsNull(Form_Startfenster!Kombi_Fehlercode) Then
    MsgBox ("Bitte Fehlercode eingeben.")
ElseIf (Form_Startfenster!Kombi_Bereich) = "Qualitätsprobleme ext. Lieferanten" Then
    MsgBox ("test")
Else
ich verstehe nicht, was du da prüfen willst und vor allem nicht, welches Problem du damit hast.
Die Rede war von 4 Kombifeldern, also erkläre doch bitte mal die Zusammenhänge.
Und bitte, verabschiede dich von dieser "Schreibweise":
Code:
Form_Startfenster
und verwende Me! wenn es sich um Steuerelemente des aktiven Formulars handelt.
_________________
Gruß MissPh!
Gast



Verfasst am:
28. Apr 2014, 23:51
Rufname:

AW: If then elseif  mit string und NULL - AW: If then elseif mit string und NULL

Nach oben
       Version: Office 2010

In jedem Kombifeld kann ich 10 Werte auswählen. Nach der Auswahl werden die Werte weggeschrieben und alle Kombifelder auf NULL gesetzt. also

Kombifeldxy = Null
docmd.requery

Ich möchte, dass der Anwender in allen Kombifeldern eine Auswahl macht und kein Kombifeld leer bleibt.

Also habe ich versucht per if then elseif die Werte der Kombifelder zu überprüfen und bei Nichtausfüllen per msgbox darauf hinzuweisen.

Das heißt, ich möchte jedes Kombifeld auf Eintrag überprüfen per

Code:
IF IsNull(Me!Kombifeld1) then msgbox ("")
ElseIF IsNull(Me!Kombifeld2) then msgbox ("")
ElseIF IsNull(Me!Kombifeld3) then msgbox ("")
ElseIF IsNull(Me!Kombifeld4) then msgbox ("")
Else
...


Das funktioniert problemlos. Allerdings will ich noch eine zusätzliche Bedingung überprüfen: Wenn im Kombifeld1 der letzte Wert der Liste gewählt wird, dann erscheint ein weiteres Kombifeld5 und dieses soll dann auch auf Eintrag überprüft werden.

Code:

If Me!Kombifeld1 = "extern" Then
Überprüfung ob
IF IsNull(Me!Kombifeld5) Then msgbox ("")


Problem1: Syntax und Verschachtelung krieg ich nicht hin
Problem2: Irgendwie kann ich das Me!Kombifeld1 nicht auf die Werte in der Liste prüfen. Jedenfalls wird z.B. "extern" (letzter Auswahlwert) nicht erkannt.
[/code]
MissPh!
Office-VBA-Programmiererin


Verfasst am:
29. Apr 2014, 10:23
Rufname:
Wohnort: NRW

AW: If then elseif  mit string und NULL - AW: If then elseif mit string und NULL

Nach oben
       Version: Office 2010

Wie lautet denn die Datensatzherkunft von Kombifeld1? Wie bestimmst du den "letzten" Eintrag?

Und wie sieht dein missglückter Versuch aus? Dann hätten wir schonmal eine gemeinsame Grundlage...
Zitat:
Nach der Auswahl werden die Werte weggeschrieben und alle Kombifelder auf NULL gesetzt
Wann findet das statt und wann (bei welchem Ereignis) wird die Überprüfung vorgenommen?
Sind die Inhalte dann schon wieder gelöscht?

_________________
Gruß MissPh!
ironpete
Im Profil kannst Du frei den Rang ändern


Verfasst am:
29. Apr 2014, 14:20
Rufname:

AW: If then elseif  mit string und NULL - AW: If then elseif mit string und NULL

Nach oben
       Version: Office 2010

Datensatzherkunft ist ein Tabelle. tbl_Fehlercode

"Letzter" Eintrag ist in diesem Fall zufällig "externer Lieferant". Hängt nur davon ab, an welcher Position dieser Eintrag in der tbl_Fehlercode eingetragen wurde. Es geht darum bei "externer Lieferant" zu reagieren.

Es gibt eine Knopf "speichern". "Bei Klicken" werden alle Kombifelder auf Einträge überprüft. Wenn alles ok ist, dann geht es bei ELSE weiter. Dort wird ein Anfügeabfrage ausgeführt (in tbl_history). Die Anfügeabfrage schreibt die Datenzeile aus einer Übersicht und alle Kombifeldeinträge weg. Die Datenzeile aus der Übersicht (und damit auch aus der Quelle) wird gelöscht und ein requery durchgeführt.
MissPh!
Office-VBA-Programmiererin


Verfasst am:
29. Apr 2014, 14:28
Rufname:
Wohnort: NRW

AW: If then elseif  mit string und NULL - AW: If then elseif mit string und NULL

Nach oben
       Version: Office 2010

Hi,
Zitat:
Datensatzherkunft ist ein Tabelle. tbl_Fehlercode
das möchte ich schon genauer wissen. Wie viele und welche Spalten enthält das Kombifeld, welches ist die gebundene Spalte?
Zitat:
Wenn im Kombifeld1 der letzte Wert der Liste gewählt wird, dann erscheint ein weiteres Kombifeld5
Wie hast du das gelöst? Zeige bitte den Code dazu.

Die Prüfung könnte evtl. folgendermaßen erweitert werden:
Code:
IF IsNull(Me!Kombifeld1) then msgbox ("")
ElseIF IsNull(Me!Kombifeld2) then msgbox ("")
ElseIF IsNull(Me!Kombifeld3) then msgbox ("")
ElseIF IsNull(Me!Kombifeld4) then msgbox ("")
ElseIF IsNull(Me!Kombifeld5) And Me!Kombifeld5.Visible = True then msgbox ("")
Else

_________________
Gruß MissPh!
Mister Stringer
Im Profil kannst Du frei den Rang ändern


Verfasst am:
29. Apr 2014, 15:37
Rufname:

AW: If then elseif  mit string und NULL - AW: If then elseif mit string und NULL

Nach oben
       Version: Office 2010

Hallo,

als Anwender finde ich es immer etwas nervend, wenn ständig Messageboxen wegen fehlender Eingaben aufgehen. Da du dir sowieso einen Button zum Speichern gebastelt hast, könntest du diesen ja nur dann aktivieren, wenn alle Eingaben korrekt sind. Das Ganze könnte dann ungefähr so aussehen (nur rudimentär getestet):
Code:
Private Sub K1_Change()
    Call SetzeButton
End Sub

Private Sub K2_Change()
    Call SetzeButton
End Sub

Private Sub K3_Change()
    Call SetzeButton
End Sub

Private Sub K4_Change()
    Me.K5.Visible = Nz(Me.K4, "") = "externer Lieferant"
    Call SetzeButton
End Sub

Private Sub K5_Change()
    Call SetzeButton
End Sub

Private Sub SetzeButton()
    Me.DeinSpeicherButton.Enabled = Not (IsNull(Me.K1) Or IsNull(Me.K2) Or IsNull(Me.K3) Or IsNull(Me.K4)) And Not (IsNull(Me.K5) And Me.K5.Visible)
End Sub

Die ganzen Messageboxen entfallen damit. Dann genügt noch ein Bezeichnungsfeld, wo drinsteht, daß man alle Felder ausfüllen muß.

Gruß
Klaus

_________________
21 ist nur die halbe Wahrheit.
MissPh!
Office-VBA-Programmiererin


Verfasst am:
29. Apr 2014, 15:44
Rufname:
Wohnort: NRW

AW: If then elseif  mit string und NULL - AW: If then elseif mit string und NULL

Nach oben
       Version: Office 2010

Hi,

das AfterUpdate-Ereignis dürfte dazu besser geeignet sein, Change tritt bei Eingabe jedes einzelnen Zeichens ein.

_________________
Gruß MissPh!
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Diese Seite Freunden empfehlen

Seite 1 von 1
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Access Tabellen & Abfragen: Aktualisierungsabfrage: String Concatenate 1 Gast 1613 17. Jan 2008, 16:46
Gast Aktualisierungsabfrage: String Concatenate
Keine neuen Beiträge Access Tabellen & Abfragen: Fehler bei Division durch Null durch eine Null ersetzen 6 jsp 6257 25. Sep 2007, 15:50
jsp Fehler bei Division durch Null durch eine Null ersetzen
Keine neuen Beiträge Access Tabellen & Abfragen: Access Abfrage mit wenn Feld "Ist Null", dann =Tei 1 Unregisterred 3409 27. Aug 2007, 09:25
KlausMz Access Abfrage mit wenn Feld "Ist Null", dann =Tei
Keine neuen Beiträge Access Tabellen & Abfragen: NULL in Tabelle speichern 6 Christian E. 593 03. Mai 2007, 15:12
Christian E. NULL in Tabelle speichern
Keine neuen Beiträge Access Tabellen & Abfragen: Ergebnis an Tabelle anfuegen wenn Ergebnis Null 6 nakoda 705 07. März 2007, 11:59
nakoda Ergebnis an Tabelle anfuegen wenn Ergebnis Null
Keine neuen Beiträge Access Tabellen & Abfragen: SQL leere Felder als null berechnen 2 Graf_bubu 2519 10. Jan 2007, 10:36
Graf_bubu SQL leere Felder als null berechnen
Keine neuen Beiträge Access Tabellen & Abfragen: date in string konvertieren innerhalb einer select Abfrage 4 samba 5443 23. Nov 2006, 18:50
samba date in string konvertieren innerhalb einer select Abfrage
Keine neuen Beiträge Access Tabellen & Abfragen: Summe aus SQL String 16 jo_1 4640 31. Aug 2006, 21:33
Willi Wipp Summe aus SQL String
Keine neuen Beiträge Access Tabellen & Abfragen: Globale Variable in SQL String verwenden 3 Floriannnnnn 1087 19. Jun 2006, 13:32
Willi Wipp Globale Variable in SQL String verwenden
Keine neuen Beiträge Access Tabellen & Abfragen: Leerstring in Null umwandeln 1 Wesian1 3124 12. Jun 2006, 13:47
rita2008 Leerstring in Null umwandeln
Keine neuen Beiträge Access Tabellen & Abfragen: NULL suchen und ersetzen [VBA] 2 theindeed21 1914 03. Mai 2006, 10:23
theindeed21 NULL suchen und ersetzen [VBA]
Keine neuen Beiträge Access Tabellen & Abfragen: Änderungsabfrage -> führende Null ersetzen 4 der00tischler 4633 04. Apr 2006, 19:44
jens05 Änderungsabfrage -> führende Null ersetzen
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: CSS Forum