fout in code??

Status
Niet open voor verdere reacties.

Barry_127

Gebruiker
Lid geworden
20 jan 2003
Berichten
478
ik heb een module waar ik een variabelen heb aangemaakt met

Public Bericht As Long

en ik wil die variablen in een form met een konp beschrijven met deze code:

Private Sub cmdOK_Click()
Set Bericht = txtWat.Text
End Sub

maar dan als ik op OK druk geeft VB een fout wat is er fout aan dit script??
 
Ik denk dat je nog een conversie uit moet voeren, daar je een long hebt gedeclareerd en txtWat.text een string is.
 
Set

Set wordt enkel gebruikt wanneer je een object of klasse wenst toe te wijzen aan een variabele.
Wanneer je de tekst die in een tekstbox staat aan variabele wil toekennen moet je dit zonder set doen.
In VB wordt er, indien mogelijk, automatische conversie gedaan naar het type van variabele.
Voorbeeld
als je 'blabla01' typt in de textbox en dit dan via die knop aan een long variabele toewijst dan krijg je een fout of je moet je variabele declareren als string dan mag het wel weer.
Maar wanneer de tekst converteerbaar is naar het type variabele (Long) dan doet vb dit zonder problemen dus bij '18765' zal hij het zonder problemen doen.


Private Sub cmdOK_Click()
Bericht = txtWat.Text
End Sub

Je kan een conversie ook afdwingen met bijvoorbeeld
CLng(txtWat.Text) zoek maar eens in help op 'Type Conversion Functions'.
 
Weet iemand ook toevallig wat hier fout aan is??

Private Sub tmrTimer_Timer()
lblKlok.Caption = Format(Time, "Long Time")
If lblKlok.Caption = txtInput1.Text & ":" & txtInput2.Text & ":" & txtInput3.Text Then
frmTijd.Show
End If
End Sub

hij geeft aan dat de .Text fout is achter txtInput1.Text maar dat is een gewone textbox :S
 
Het werkt gewoon.

Ik heb je code uitgevoerd en het werkt gewoon. Ik kreeg geen foutmelding. Wanneer de waarde v.h. label en de string (gekoppelde string van txtInput1, ":", txtInput2, ":" en txtInput3) overeenkomen, dan wordt bij mij frmTijd wel netjes getoond.

Groetjes.
 
ff over copieren.

Waarschijnlijk heb je een typfout gemaakt.

Copieer anders de code (het is van jezelf) hieronder in je project.
Je weet dan zeker, dat er geen typfout(en) bevat(ten), omdat bij mij het wel
werkt.

Code:
Private Sub tmrTimer_Timer() 
    lblKlok.Caption = Format(Time, "Long Time") 
    If lblKlok.Caption = txtInput1.Text & ":" & txtInput2.Text & ":" & txtInput3.Text Then 
        frmTijd.Show 
    End If 
End Sub

Dennis.
 
Volgens mij heb je die punt helemaal niet nodig. Volgens mij is Text namelijk de default property van een textbox, waardoor je bij het weglaten daarnaar verwijst.

Als ie blijft mekkeren dan kun je ook ens proberen "!" te gebruiken.

Suc6,
 
.text verwijst naat de eigenschap tekst.

De punt die bijvoorbeeld achter txtInput2 staat mag worden weggelaten, tenzij je
naar de TEKST van die Text-Box refereert en niet bijvoorbeeld naaar de BackColor
eigenschap van die text-box. In jouw geval, refereert je inderdaad naar de eigenschap TEXT (TEKST)
van de desbetreffende text-boxen, waardoor weglating van ".text" wel kan.
Maar het plaatsen van .text is ook voor devolledigheid en netheid.

Hoeveel Forms gebruik je eigenlijk? En in welk form heb je je Timer-control staan?

Dennis.

P.S. Ben zo graag in dit Forum, maar heb vaak zo weinig tijd.
 
ik heb het nog in een nieuw project geprobeerd en daar werkt het bij mij idd ook maar ik begrijp nog steed niet waarom niet in die andere :S

in iedergeval bedankt voor het bekijken :D
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan