RecordSet

SyDaze Messages postés 71 Date d'inscription jeudi 6 mars 2003 Statut Membre Dernière intervention 8 juin 2007 - 25 avril 2003 à 14:41
SyDaze Messages postés 71 Date d'inscription jeudi 6 mars 2003 Statut Membre Dernière intervention 8 juin 2007 - 25 avril 2003 à 15:25
Salut, j'ai un probleme au niveau de l'utilisation des fonctions de recordset telles que delete ou addnew.
j'obtient l'erreur : "you have an error in your SQL syntax...", je ne vois pas pourquoi.
Merci d'avance pour votre aide

2 réponses

cs_Crazyht Messages postés 1522 Date d'inscription mardi 18 décembre 2001 Statut Membre Dernière intervention 21 août 2010 8
25 avril 2003 à 15:00
Et on pourrait voir le code ?

A++

Crazyht :)
0
SyDaze Messages postés 71 Date d'inscription jeudi 6 mars 2003 Statut Membre Dernière intervention 8 juin 2007
25 avril 2003 à 15:25
OK le voila:
Option Explicit

Dim cnnADO As New ADODB.Connection
Dim cmdADO As New ADODB.Command
Dim rsADO As New ADODB.Recordset

Private Sub Form_Load()
'etablit la connection
cnnADO.Open "DSN=myodbc3;UID=test"

'configuration de la commande
cmdADO.ActiveConnection = cnnADO
cmdADO.CommandText = "SELECT * FROM dossier"

'configure et ouvre le recordset
rsADO.CursorLocation = adUseClient
rsADO.CursorType = adOpenDynamic
rsADO.LockType = adLockPessimistic
rsADO.Open cmdADO

'lire le premier enregistrement
readrecord

End Sub

Private Sub Form_Unload(Cancel As Integer)
cnnADO.Close
End Sub

Private Sub readrecord()
txttext(0).Text = getvalue(rsADO!Name)
txttext(1).Text = getvalue(rsADO!numero)
txttext(2).Text = getvalue(rsADO!etablissement)
txttext(3).Text = getvalue(rsADO!concepteur)

lblLabel1.Caption = "Enregistrement " & rsADO.AbsolutePosition _
& " de " & rsADO.RecordCount

End Sub

Private Function getvalue(fld As Field) As String
If IsNull(fld) Then
getvalue = ""
Else
getvalue = fld
End If
End Function

Private Sub cmdDepl_click(index As Integer)
Select Case index
Case 0 'premier
rsADO.MoveFirst
Case 1 'précedent
rsADO.MovePrevious
If rsADO.BOF Then
Beep
rsADO.MoveFirst
End If
Case 2 'suivant
rsADO.MoveNext
If rsADO.EOF Then
Beep
rsADO.MoveLast
End If
Case 3 'dernier
rsADO.MoveLast
End Select
readrecord
End Sub


Private Sub cmdAct_click(index As Integer)
Dim vntSignet As Variant
' ******************************c'est ici que ca merde!***********************
Select Case index
Case 0 'effacer
If rsADO.RecordCount > 0 Then
rsADO.Delete
cmdDepl_click 2
End If
Case 1 'nouveau
rsADO.AddNew
readrecord
txttext(1).SetFocus
Case 2 'enregistrer
rsADO!Name = setvalue(txttext(0).Text)
rsADO!numero = setvalue(txttext(1).Text)
rsADO!etablissement = setvalue(txttext(2).Text)
rsADO!concepteur = setvalue(txttext(3).Text)

vntSignet = rsADO.Bookmark
rsADO.Update
rsADO.Requery
rsADO.Bookmark = vntSignet
readrecord
Case 3 'quitter
Unload Me
End Select

End Sub

Private Function setvalue(str As String) As Variant
If Trim$(str) = "" Then
setvalue = Null
Else
setvalue = Trim$(str)
End If
End Function
0
Rejoignez-nous