har ett stort problem med ByRef
en en klickfunktion som startar när man trcker på en knapp
den funktionen skall skicka en till en getindata funktion som hämtar data från textrutorna och gör lite kontroll
sen skall man tillbaka till klickfunktionen och den skicka en vidare till en spara funktion
men det blir fel när kah kör
ByRef argument type mismatch
här kommer all kod
Private Sub cmdLäggTill_Click()
Dim strMedNr, _
strFörnamn, _
strEfternamn, _
strTelefonnummer, _
strPersonnummer, _
strGatuadress, _
strPostnummer, _
strPostort As String
Dim strMedlemsavgift As Boolean
Dim blnOK As Boolean
blnOK = GetIndata(strMedNr, _
strFörnamn, _
strEfternamn, _
strTelefonnummer, _
strPersonnummer, _
strGatuadress, _
strPostnummer, _
strPostort, _
strMedlemsavgift)
If blnOK Then
blnOK = False
blnOK = SaveDataToArray(strMedNr, _
strFörnamn, _
strEfternamn, _
strTelefonnummer, _
strPersonnummer, _
strGatuadress, _
strPostnummer, _
strPostort, _
strMedlemsavgift)
End If
End Sub
Public Function GetIndata(ByRef strMedNr As String, _
ByRef strFörnamn As String, _
ByRef strEfternamn As String, _
ByRef strTelefonnummer As String, _
ByRef strPersonnummer As String, _
ByRef strGatuadress As String, _
ByRef strPostnummer As String, _
ByRef strPostort As String, _
ByRef strMedlemsavgift As Boolean) As Boolean
If txtMedNr.Caption = "" Or txtFörnamn.Text = "" _
Or txtEfternamn.Text = "" Or txtTelefonnummer.Text = "" _
Or txtPersonnummer.Text = "" Or txtGatuadress.Text = "" _
Or txtPostnummer.Text = "" Or txtPostort.Text = "" Then
MsgBox ("Du måste fylla i alla fälten!")
GetIndata = False
Else
If Not IsNumeric(txtMedNr.Caption) Or Not IsNumeric(txtPostnummer.Text) Then
MsgBox ("Postnummer skall vara numreriskt!")
GetIndata = False
Else
strMedNr = txtMedNr.Caption
strFörnamn = txtFörnamn.Text
strEfternamn = txtEfternamn.Text
strTelefonnummer = txtTelefonnummer.Text
strPersonnummer = txtPersonnummer.Text
strGatuadress = txtGatuadress.Text
strPostnummer = txtPostnummer.Text
strPostort = txtPostort.Text
strMedlemsavgift = chmedlemsavgift.Value
GetIndata = True
End If
End If
End Function
Public Function SaveDataToArray(ByRef strMedNr As String, _
ByRef strFörnamn As String, _
ByRef strEfternamn As String, _
ByRef strTelefonnummer As String, _
ByRef strPersonnummer As String, _
ByRef strGatuadress As String, _
ByRef strPostnummer As String, _
ByRef strPostort As String, _
ByRef strMedlemsavgift As Boolean) As Boolean
g_aMedlemsRegister(strMedNr).strFörnamn = strFörnamn
g_aMedlemsRegister(strMedNr).strEfternamn = strEfternamn
g_aMedlemsRegister(strMedNr).strTelefonnummer = strTelefonnummer
g_aMedlemsRegister(strMedNr).strPersonnummer = strPersonnummer
g_aMedlemsRegister(strMedNr).strGatuadress = strGatuadress
g_aMedlemsRegister(strMedNr).strPostnummer = strPostnummer
g_aMedlemsRegister(strMedNr).strPostort = strPostort
g_aMedlemsRegister(strMedNr).strMedlemsavgift = strMedlemsavgift
End Function