Neuigkeiten:

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

Mobiles Hauptmenü

Messagebox bei erfolgloser Abfrage

Begonnen von malibum, März 01, 2017, 16:03:12

⏪ vorheriges - nächstes ⏩

malibum

Hallo Zusammen,

ich möchte bei einer erfolglosen Abfrage eine Messagebox ausgeben "Daten nicht vohanden" oder ähnliches.
Das Formular besteht aus einem Eingabefeld für eine Produktnummer (es funktioniert auch alles ;-) ), drückt man auf suchen aktualisiert sich das Unterformular und es werden entsprechend die dazugehörigen Daten angezeigt oder eben nicht. Ist letzteres der Fall soll die besagte Messagebox aufploppen. Wie ist das möglich?

viele Grüße
Malibum  ;)

MzKlMu

Hallo,
Du solltest einfach mit dem gleichen Kriterium zum Suchen mit DCount die Datensätze zählen. Wenn 0 ist nix vorhanden.
Zeige mal das Kriterium zum Suchen.
Gruß Klaus

malibum

Hallo,

zum suchen habe ich in der Abfrage unter Produktnummer folgendes Kriterium:

Zitat[Forms]![frmNavi]![Navigationsunterformular]![Text111]

Die Produktnummer wird einfach in das Textfeld eingegeben, bei anschließendem klicken auf den Suchbutton werden die Formulare aktualisiert.

ZitatMe![frmSAPNoSearch].Requery
Me![uufrmSAPNoSearch].Requery

Gruß
Malibum

MzKlMu

Hallo,
versuche es mal so:
If DCount("*","TabellenName","Produktnummer = '" & Me.Text111 & "'") = 0 Then
   MsgBox "Keine Daten"
   Exit Sub
End If

Wobei ich angenommen habe, dass die Produktnummer vom Datentyp Text ist, bei Zahl entfallen die Hochkomma.
Gruß Klaus

malibum

Hallo,

vielen Dank schonmal! Die Messagebox zeigt es auf jedenfall an, allerdings auch wenn die Nummer vorhanden ist...

Grüße
Malibum

MzKlMu

Hallo,
welcher Datentyp ist denn die Produktnummer ?

PS:
Ich werde nie begreifen, warum man nicht sofort zeigt wie man etwas umgesetzt hat. Wie sonst soll man da einen Fehler finden, wenn man nicht sieht, was Du gemacht hast. Und ein Hinweis "man habe es umgesetzt" reicht da nicht.
Zeige daher bitte den Code Deines Versuchs vollständig.
Gruß Klaus

malibum

Hallo,
sorry da hast du natürlich vollkommen Recht!  ;)

Folgenden Code habe ich hinter dem Such-Button platziert:

ZitatPrivate Sub Befehl3_Click()
Me![frmSAPNoSearch].Requery
Me![uufrmSAPNoSearch].Requery

If DCount("*", "tblAlleProdukte", "SAPNo = '&Me.Text111&'") = 0 Then
MsgBox "Daten nicht vorhanden"

Exit Sub
End If

End Sub

Die Produktnummer ist vom Datentyp Text.

Die Anführungszeichen vor und nach dem
Zitat&Me.Text111&
habe ich entfernt da er mir hier einen Fehler beim kompilieren angezeigt hat.

Gruß
Malibum

MzKlMu

#7
Hallo,
das ist falsch so, mit den Hochkomma. Mein Codevorschlag oben führt auch garantiert nicht zu einem Syntaxfehler. Wenn doch, hast Du es falsch gemacht.
So wie Du das jetzt hast wird als SAPNo nach dem Text '&Me.Text111&' gesucht, also genau nach diesem Text und nicht nach dem Eintrag von Text111. Und da findet Access nichts daher DCount=0 und MsgBox kommt. Alles logisch.
Man kann doch auch nicht einfach mal so die AZ entfernen, die sind ja nicht aus Spaß enthalten.

Und sinnvollerweise sollte DCount auch vor dem Requery erfolgen.
Private Sub Befehl3_Click()
    If DCount("*", "tblAlleProdukte", "SAPNo = '" & Me.Text111 & "'") = 0 Then
        MsgBox "Daten nicht vorhanden"
        Exit Sub
    End If
    Me![frmSAPNoSearch].Requery
    Me![uufrmSAPNoSearch].Requery
End Sub
Gruß Klaus

malibum

Hallo,
vielen Dank für deine Mühe, ja es geht einwandfrei. Ich weis nicht was ich dann falsch gemacht habe, dass es nicht sofort ging.

Gruß
Malibum