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
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.
Vielen, vielen Dank MzKlMu!
Hat sofort geklappt....Dabei war es so einfach :D
LG
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..
Vielen Dank für den Hinweis, DF6GL.
Ich werds beim nächsten mal beherzigen...versprochen!
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
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
Dankeschön!