Salut a tous, Voilà mon soucis : Je voudrais executer une requete d'insertion de champ avec des parametres (3 a total) qui sont saisie par l'utilisateur. Voici mon code :
Private Sub cmdClose_Click() frmcouts.Hide End Sub
Private Sub CommandButton1_Click()Datamois.Refresh End Sub
Data3.DatabaseName = App.Path & "\kalipso.mdb" Set db = OpenDatabase(App.Path & "\kalipso.mdb", , False, True) Set rts = db.OpenRecordset("SELECT * FROM numnomrek" ) Data4.DatabaseName = App.Path & "\kalipso.mdb" Set db2 = OpenDatabase(App.Path & "\kalipso.mdb", , False, True) Data3.Refresh End Sub
Private Sub SpinButton1_SpinDown() txtyear = txtyear - 1 End Sub
Private Sub SpinButton1_SpinUp() txtyear = txtyear + 1 End Sub
Private Sub SpinButton2_SpinDown() If Datamois.Recordset.BOF Then Datamois.Recordset.MoveLast Else Datamois.Recordset.MovePrevious End If End Sub
Private Sub SpinButton2_SpinUp() If Datamois.Recordset.EOF Then Datamois.Recordset.MoveFirst Else Datamois.Recordset.MoveNext End If End Sub
Private Sub Txtcts_Change() On Error GoTo err
err: If err.Number = "13" Then txtcts.Text = "0" End If Textcoutseuro.Text = (txtcts.Text / 6.56) End Sub
Private Sub Textcoutseuro_Change() On Error GoTo err
err: If err.Number = "13" Then Textcoutseuro.Text = "0" End If txtcts.Text = (Textcoutseuro.Text * 6.56)
End Sub
Private Sub valid_Click()strparm = "PARAMETERS [numéro] INTEGER, [couts] CURRENCY, [année] SINGLE;" Set qrydef = db.CreateQueryDef("", strparm & "INSERT INTO JANVIER (numéro,couts,année) VALUES ([numéro],[couts],[année]);" )
qrydef("numéro" ) = txtnum.Text qrydef("couts" ) = txtcts.Text qrydef("année" ) = txtyear.Text Set rts01 = qrydef.OpenRecordset(dbOpenDynaset)<-l'erreur est sur cette ligne
rts01.AddNew
End Sub [#0ef000] et voila le message d'erreur que j'obtiens : ERREUR D'EXECUTION 3129: OPERATION NON VALIDE Si c pas assez n'hésitez pas a me posez des questions J'ai pas mal chercher mais je vois pas alors si kk1 pouvez m'aider, ca serait bien sympa. Merci
Marsh Posté le 10-04-2002 à 18:14:49
Salut a tous,
Voilà mon soucis :
Je voudrais executer une requete d'insertion de champ avec des parametres (3 a total) qui sont saisie par l'utilisateur.
Voici mon code :
Private Sub cmdClose_Click()
frmcouts.Hide
End Sub
Private Sub CommandButton1_Click()Datamois.Refresh
End Sub
Private Sub DBList1_Click()
Data3.Recordset.MoveFirst
Data3.Recordset.FindFirst ("Nom = '" & DBList1.Text & "'" )
txtnum.Refresh
End Sub
Private Sub Form_Load()
Data3.DatabaseName = App.Path & "\kalipso.mdb"
Set db = OpenDatabase(App.Path & "\kalipso.mdb", , False, True)
Set rts = db.OpenRecordset("SELECT * FROM numnomrek" )
Data4.DatabaseName = App.Path & "\kalipso.mdb"
Set db2 = OpenDatabase(App.Path & "\kalipso.mdb", , False, True)
Data3.Refresh
End Sub
Private Sub SpinButton1_SpinDown()
txtyear = txtyear - 1
End Sub
Private Sub SpinButton1_SpinUp()
txtyear = txtyear + 1
End Sub
Private Sub SpinButton2_SpinDown()
If Datamois.Recordset.BOF Then
Datamois.Recordset.MoveLast
Else
Datamois.Recordset.MovePrevious
End If
End Sub
Private Sub SpinButton2_SpinUp()
If Datamois.Recordset.EOF Then
Datamois.Recordset.MoveFirst
Else
Datamois.Recordset.MoveNext
End If
End Sub
Private Sub Txtcts_Change()
On Error GoTo err
err:
If err.Number = "13" Then
txtcts.Text = "0"
End If
Textcoutseuro.Text = (txtcts.Text / 6.56)
End Sub
Private Sub Textcoutseuro_Change()
On Error GoTo err
err:
If err.Number = "13" Then
Textcoutseuro.Text = "0"
End If
txtcts.Text = (Textcoutseuro.Text * 6.56)
End Sub
Private Sub valid_Click()strparm = "PARAMETERS [numéro] INTEGER, [couts] CURRENCY, [année] SINGLE;"
Set qrydef = db.CreateQueryDef("", strparm & "INSERT INTO JANVIER
(numéro,couts,année) VALUES ([numéro],[couts],[année]);" )
qrydef("numéro" ) = txtnum.Text
qrydef("couts" ) = txtcts.Text
qrydef("année" ) = txtyear.Text
Set rts01 = qrydef.OpenRecordset(dbOpenDynaset)<-l'erreur est sur cette ligne
rts01.AddNew
End Sub
[#0ef000]
et voila le message d'erreur que j'obtiens :
ERREUR D'EXECUTION 3129:
OPERATION NON VALIDE
Si c pas assez n'hésitez pas a me posez des questions
J'ai pas mal chercher mais je vois pas alors si kk1 pouvez m'aider, ca serait bien sympa. Merci