[VBA] IsNull hyperlinkaddress check

Pagina: 1
Acties:

  • DDemolition
  • Registratie: Augustus 2003
  • Laatst online: 03-05 16:52

DDemolition

slopen is mijn lust en leven

Topicstarter
Hoi,

Ik wil een isnull check doen op een hyperlink address.
Ik kom er niet echt uit. Na het afvangen van een NULL waarde gaat er toch iets fout.

Visual Basic:
1
2
3
4
5
6
7
8
9
10
Private Sub cmdWebsite_Click()

If IsNull(txtWebsite.Value) = True Then
    MsgBox ("Leeg")
Else
    Dim strWebsite As String
    strWebsite = Me.txtWebsite.Value
    cmdWebsite.HyperlinkAddress = strWebsite
End If
End Sub

Het idee is eigenlijk dat de knop wel of geen hyperlink wordt voordat de website geopend is.

De eerste keer dat ik het formulier open werkt alles, na het klikken van een WEL gevulde knop werkt 't niet meer.
Ditzelfde doe ik ook met een e-mail adres en daar doet ie 't ook niet 8)7

wat doe ik fout? moet ik strwebsite leegmaken oid?

Specs: Server, WS boven, WS beneden


  • Cyphax
  • Registratie: November 2000
  • Laatst online: 22:15

Cyphax

Moderator LNX
Ik heb me dit ook weleens afgevraagd, maar dan met vbscript. Blijkt dat ie zelden of nooit false returned.
Het lijkt wel alsof ie altijd true returned als je variabele uberhaupt bestaat, en helemaal niet naar de inhoud kijkt ofzo.
Ik zou het zo eens proberen:

If txtWebsite.Value = "" Then

Als dat ook niet werkt is er volgens mij ook nog een functie IsEmpty.
Dit is wel allemaal vanuit vbscript oogpunt, niet vba, maar zoveel zullen die 2 ook wel niet verschillen. :)

[ Voor 17% gewijzigd door Cyphax op 13-05-2005 11:16 ]

Saved by the buoyancy of citrus


  • DDemolition
  • Registratie: Augustus 2003
  • Laatst online: 03-05 16:52

DDemolition

slopen is mijn lust en leven

Topicstarter
Hij geeft als het ware eerst "leeg" (m'n msgbox dus)
dus hij ziet wel of hij leeg of vol is
maar dan bezoekt hij toch m'n website

met "" en isempty doet ie nog minder.

edit:
Eigenlijk is de vraag: hoe kan ik het cancelen dat m'n hyperlink bezocht wordt?

If IsNull(txtWebsite.Value) = True Then
MsgBox ("Er is geen adres ingevuld")
dan iets van cancel, maar hoe?

[ Voor 52% gewijzigd door DDemolition op 13-05-2005 11:26 ]

Specs: Server, WS boven, WS beneden


  • Cyphax
  • Registratie: November 2000
  • Laatst online: 22:15

Cyphax

Moderator LNX
DDemolition schreef op vrijdag 13 mei 2005 @ 11:21:
Hij geeft als het ware eerst "leeg" (m'n msgbox dus)
dus hij ziet wel of hij leeg of vol is
maar dan bezoekt hij toch m'n website

met "" en isempty doet ie nog minder.

edit:
Eigenlijk is de vraag: hoe kan ik het cancelen dat m'n hyperlink bezocht wordt?

If IsNull(txtWebsite.Value) = True Then
MsgBox ("Er is geen adres ingevuld")
dan iets van cancel, maar hoe?
De code die de website opent wordt in alle gevallen uitgevoerd maar ik zie daar niets van terug in jouw fragment?

Saved by the buoyancy of citrus


  • pjonk
  • Registratie: November 2000
  • Laatst online: 29-12-2025
Een NULL waarde wordt over het algemeen alleen in databases gebruikt als speciale waarde om aan te geven dat een veld niet gevuld is. (dit is iets anders dan een lege string in een veld plaatsen)
In textboxes mag je niets eens NULL waarden plaatsen. Probeer maar eens:
code:
1
txtWebsite.Text = Null

Geeft de foutmelding "Invalid use of Null". Het veiligste om te checken of een textbox leeg is, is om ook even de Trim functie (die eventuele blanks zoals spaties filtert) te gebruiken:

code:
1
2
3
If Trim(txtWebsite.Text) = "" Then
  ' Veld is leeg
End If

It’s nice to be important but it’s more important to be nice


  • CrashOne
  • Registratie: Juli 2000
  • Niet online

CrashOne

oOoOoOoOoOoOoOoOoOo

isNull zou ik niet gebruiken in deze situatie, want volgens mij is ie nl nooit null, maar empty of "".

[ Voor 10% gewijzigd door CrashOne op 13-05-2005 11:37 . Reden: spuit11 ]

Huur mij in als freelance SEO consultant!


  • DDemolition
  • Registratie: Augustus 2003
  • Laatst online: 03-05 16:52

DDemolition

slopen is mijn lust en leven

Topicstarter
JonkieXL schreef op vrijdag 13 mei 2005 @ 11:28:
Een NULL waarde wordt over het algemeen alleen in databases gebruikt als speciale waarde om aan te geven dat een veld niet gevuld is. (dit is iets anders dan een lege string in een veld plaatsen)
In textboxes mag je niets eens NULL waarden plaatsen. Probeer maar eens:
code
Geeft de foutmelding "Invalid use of Null". Het veiligste om te checken of een textbox leeg is, is om ook even de Trim functie (die eventuele blanks zoals spaties filtert) te gebruiken:
code
Oke,
dit is me duidelijk. Ik gebruikte idd de null verkeerd.
Hij werkt nu wel elke keer alleen opent hij de de website die als laatst geopend is. strWebsite is dus nog gevuld. hoe krijg ik 'm leeg en wanneer moet ik dat doen?

edit:
als strWebsite echt leeg is (dat is dus ook als ik de app start) wordt de link niet uitgevoerd.
Visual Basic:
1
2
Dim strWebsite As String
strWebsite = "" 'Null ook niet

werkt niet

[ Voor 14% gewijzigd door DDemolition op 13-05-2005 12:01 ]

Specs: Server, WS boven, WS beneden


  • DDemolition
  • Registratie: Augustus 2003
  • Laatst online: 03-05 16:52

DDemolition

slopen is mijn lust en leven

Topicstarter
Hehe...
Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
12
txtWebsite.SetFocus
Dim strWebsite As String
    
    If Trim(txtWebsite.Text) = "" Then
        MsgBox ("leeg")
        cmdWebsite.HyperlinkAddress = Empty 
    Else
        strWebsite = Me.txtWebsite.Value
        cmdWebsite.HyperlinkAddress = strWebsite
    End If

End Sub

Door cmdWebsite.HyperlinkAddress = Empty te zetten wordt na een lege txtbox geen hyperlink uitgevoerd.
Het werkt!
Bedankt iedereen _/-\o_

[ Voor 9% gewijzigd door DDemolition op 13-05-2005 12:24 ]

Specs: Server, WS boven, WS beneden

Pagina: 1