Little_Dev
Messages postés36Date d'inscriptionmercredi 8 septembre 2004StatutMembreDernière intervention 4 mars 2008
-
2 nov. 2004 à 13:04
Little_Dev
Messages postés36Date d'inscriptionmercredi 8 septembre 2004StatutMembreDernière intervention 4 mars 2008
-
2 nov. 2004 à 15:13
Bonjour,
Je debute en ADO et VB6, j'ai develloppé quelque application basic.
Mon probleme est le suivant je ne maitrise pas l'accés au données.
Effectuer un SELECT pas de probleme, mais dés que je veux faire un DELETE,UPDAT ou INSERT via une procédure stocké sur une base Access 2000.
C'est la que sa coince je n'y arrive meme en suivant les conseils de certain membre de cet excellent site, ça fonctionnne pour mon apllication mais je n'ai pas tout compris la logique et sutout pourquoi VB m'agresse en m'envoyant des messages d'erreurs. (c'est rageant...)
Si quelqu'un serait assez aimable pour m'indiquer un excellent cours avec des exemples qui marche (autre que MSDN) pour pouvoir effectuer mes transaction via un recorset et des procédures stockées (Type:Updat,insert,...)
Je remercie les personnes qui porte de l'attention a mon article et 2 fois plus à ceux qui me repondre.
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 2 nov. 2004 à 13:12
J'ai fait un tutorial sur DAO (c'est quasiment les mêmes instructions pour ADO) que j'ai déposé sur www.ProgOtoP.com, il devrait t'interesser je pense.
Sinon, regarde bien si tout les champs obligatoires sont renseignés, si tu as fait un AddNew avant de faire un Update, etc.
_______________________________________
Little_Dev
Messages postés36Date d'inscriptionmercredi 8 septembre 2004StatutMembreDernière intervention 4 mars 2008 2 nov. 2004 à 14:18
Je te remercie pour le lien je vais voir de ce pas.
Mes champs sont bien renseignés mais mon gros probleme c'est que je ne sais pas vraiment faire exatement , je fais que de la bidouille, je te confere mon code (la chaine de connexion est declaré dans une autre interface):
' Variables pour la gestion de la base de données
Public My_Cnx As New ADODB.Connection 'Connection à la base de données
Public My_Cmd As New ADODB.Command 'Commande sur la base de données
Public My_Rs As ADODB.Recordset 'Enregistrement des données de la base de données
Private My_Prm As ADODB.Parameter 'Déclaration d'un paramatre pour une procedure stockée
Public Bln_Db_Null As Boolean
' Module permettant la connexion à la base de données
Public Sub P_Cnx_Db(ByVal Str_Nom_Proc As String, _
Optional ByVal Str_Nom_Param As String, _
Optional ByVal Str_Where As String)
If Str_Where = Empty Then
Call P_Command(Str_Nom_Proc)
My_Cmd.Parameters.Append My_Prm
My_Cmd(Str_Nom_Param).Value = Str_Where
End If
'Permet de gérer l'erreur si le process n'existe pas dans la DB
On Error GoTo My_Rs_Is_Null
Set My_Rs = My_Cmd.Execute If My_Rs.RecordCount 0 Then Bln_Db_Null True
Exit Sub
My_Rs_Is_Null:
Bln_Db_Null = True
End Sub
Private Sub P_Command(ByVal Str_Nom_Proc As String)
' Configuration de la commande
With My_Cmd
.ActiveConnection = My_Cnx
.CommandType = adCmdStoredProc
.CommandText = Str_Nom_Proc
End With
End Sub
Private Sub P_Param(ByVal Str_Nom_Param As String)
' Configuration du parametre
Set My_Prm = New Parameter
With My_Prm
.Direction = adParamInput
.Type = adVarWChar
.Size = 50
.Name = Str_Nom_Param
.
End With
End Sub
Private Sub P_RecordSet()
' Configuration du record
Set My_Rs = New Recordset
With My_Rs
.ActiveConnection = My_Cnx
.Properties("IrowsetIdentity") = True
.CursorType = adOpenKeyset
.LockType = adLockPessimistic
End With
End Sub
Ce bout de code fontionnne seulement pour un SELECT,et voila comment j'effectue un UPDAT en ajoutant cette procedure:
Public Sub P_Update_Process(ByVal Str_Pross As String, ByVal Str_Distri As String, _
ByVal Str_Cmnt As String)
Dim Str_Sql_Updat As String
Call P_Command("Prc_Update")
Little_Dev
Messages postés36Date d'inscriptionmercredi 8 septembre 2004StatutMembreDernière intervention 4 mars 2008 2 nov. 2004 à 15:13
Je viens de visiter ton site.
Il super bien fais et facile de navigation (j'adore).
Je viens de finir ton cours sur DAO et effectivement cela rejoint le morceaux de code que j'ai deja etudié, normalement je dois me debrouiller sans trop de soucis (je pense)
Et si tu as une critique à faire sur mon code n'hésite pas cela me permetta de m'ameliorer.
Et encore une fois merci pour l'info.
Et felicitation pour le site dont tu es responsable, il tout simplement genial.