Neuigkeiten:

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

Mobiles Hauptmenü

MsgBox bei leerem Datensatz

Begonnen von Maddy, Juli 04, 2011, 11:56:37

⏪ vorheriges - nächstes ⏩

Maddy

Hallo ihr lieben Experten,

ich hab folgendes Problem. Ich hab eine Datenbank erstellt in der ganz viel Projekte (mit Titel, ausührende Stelle, Projektleiter etc) in einer Tabelle gespeichert sind. Es gibt zwar noch andere Tabellen, aber ich denke, dass trägt nicht unbedingt zum Verständnis bei, wenn ich die ganze DB-Struktur erkläre  ;)

Es gibt auch ein Formular für den Anwender. Jetzt hab ich es so eingerichtet, dass sich der User den Antrag bzw. Abschlussbericht anschauen lassen kann. Dazu hab ich einen Button mit dem Ereignis FollowHyperlink benutzt um die DB nicht unnötig aufzublähen. Soweit so gut. Ich hab also in der Projekte-Tabelle zwei Textfelder mit den Dateipfad angefügt und wo noch kein Bericht vorliegt, freigelassen....und da liegt der Hase im Pfeffer: Ich wollte gern eine Messagebox erstellen, die mir halt sagt "Ey, ihr habt da doch noch garnix hinterlegt", wenn der Pfad nicht angegeben ist.

Meine VBA-Code sieht dann so aus:

Private Sub Befehl58_Click()

If Me!ASB_Pfad = Null Then
    sTitel = "Hinweis"
    sMldg = "Es konnte keine Datei gefunden werden."

    iRes = MsgBox(sMldg, 64, sTitel)
Else
FollowHyperlink Me!ASB_Pfad
End If
End Sub

ASB_Pfad soll das Textfeld  mit dem Pfad des Abschlussberichtes sein.

Kann mir jemand helfen? Ich seh absolut nicht, was daran falsch sein könnte (Betriebsblindheit :-D)

LG eure Maddy
LG eure Maddy

MzKlMu

Hallo,
so sollte es funktionieren:
If IsNull(Me!ASB_Pfad) Then
oder auch:
If Nz(Me!ASB_Pfad,"") = "" Then
Letzeres deckt auch den Fall eines Leerstrings ab, was aber eher unwahrscheinlich ist.
Gruß Klaus

Maddy


Vielen, vielen Dank MzKlMu!

Hat sofort geklappt....Dabei war es so einfach  :D

LG
LG eure Maddy

DF6GL

Hallo,

mehrere Sachen:


1) schreib in JEDEN Modulkopf:  Option Explicit  , falls nicht vorhanden
2) Verwende aussagekräftige Benamsungen: "Befehl58" ist nicht so prickelnd.
3) If Me!ASB_Pfad = Null Then  muß lauten: If IsNull(Me!ASB_Pfad)  Then 
4)die Variablen sind nicht deklariert: Dim sTitel  as String   , etc.
5) iRes ist überflüssig in diesem Code: jedoch dann Klammern weglassen:  MsgBox sMldg, 64, sTitel
6) Statt FollowHyperlink wäre ShellExecute zu bevorzugen..

Maddy


Vielen Dank für den Hinweis, DF6GL.

Ich werds beim nächsten mal beherzigen...versprochen!
LG eure Maddy

Maddy

Sorry eine Frage hab ich nochmal *gg*....warum ist denn ShellExecute besser?
Ich wollte es einfach halten und ich fand FollowHyperlink günstig, da die Dateien niemals verschoben werden.

wenn einer mir das kurz und knapp erklären könnte, wäre ich froh  ;D

LG Maddy
LG eure Maddy

database

Hallo,

neben anderen Unterschieden wären diese beiden besonders erwähnenswert

FollowHyperlink arbeitet auch mit den Einstellungen des IE zusammen und kann dadurch Probleme verursachen.
ShellExecute baut auf die Windows API auf und sollte daher immer funktionieren.

HTH

Maddy

LG eure Maddy