Meerdere OpenArgs

Status
Niet open voor verdere reacties.

VB noob

Gebruiker
Lid geworden
11 feb 2009
Berichten
78
Ik probeer een aantal values van een formulier door te geven aan een volgend formulier.

In het eerste formulier bij het veld 'Kill' (een tickbox) heeft in de afterupdate de volgende code:

Code:
Private Sub Kill_AfterUpdate()

If Me.Kill.Value = True Then

Dim stDocName As String
Dim stLink1 As String
Dim stLink2 As String


stLink1 = Me.HuntID
stLink2 = Me.SightingID


stDocName = "frmCarcassesfromHunt"
DoCmd.OpenForm stDocName, , , , acFormAdd, , "stLink1;stLink2"

End If
End Sub

Dit opent het formulier 'frmCarcassesfromHunt', tot dusver geen probleem.

Maar als ik in het On_Load event van frmCarcassesfromHunt de volgende code plaats:
Code:
Private Sub Form_Load()
Dim Args As Variant

If Not IsNull(Me.OpenArgs) Then
'-- Form is being opened from a form passing it data
Args = Split(Me.OpenArgs, ";") '-- We used the ";" as a delimiter
Me.HuntID = Args(0) ' 1st value
Me.SightingID = Args(1) ' 2nd value

End If

End Sub

Dan krijg ik de volgende foutmelding:
Run-time error: '-2147342567 (80020009)':
The value you entered isn't valid for this field.

En vervolgens via debug wordt aangegeven dat de fout zit bij:
Code:
Me.HuntID = Args(0)

Ik dacht eerst dat het misschien te maken had met de eigenschappen maar dat is het volgens mij niet.
HuntID heeft de volgende eigenschappen.
In de tabel tblHunt en het formulier Hunt is het een 'autonumber'.
In de tabel tblCarcasses en het daarop gebaseerde formulier frmCarcassesfromHunt is het een number.

Maar waarom het wel misgaat weet ik niet.
Iemand suggesties/ideeen?
 
Als ik je OpenArgs argument bekijk in

DoCmd.OpenForm stDocName, , , , acFormAdd, , "stLink1;stLink2"

dan lijkt het erop dat je de samenvoegstring niet goed aanmaakt. Je zet namelijk twee woorden in je string: stLink1 en stLink2 en niet de waarden van je variabelen.

Probeer het eens op deze manier:

dim strArgs as Variant
strArgs=stLink1 & ";" & stLink2
DoCmd.OpenForm stDocName, , , , acFormAdd, , strArgs

Dat zou moeten werken.

Michel
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan