Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Question sur DATAGRID et RECORDSET (please help me) [ Archives Visual Basic / J'AI BESOIN D'AIDE !!!! :) ] (ymerej)

mercredi 16 juin 2004 à 14:36:54 | Question sur DATAGRID et RECORDSET (please help me)

ymerej


Bonjour,
j'ai une datagrid dgRech
et un recordset rstProduit

g fé
set dgRech.datasource = rstproduit

dgRech.AllowUpdate = True
gRech.AllowAddNew = True
dgRech.AllowDelete = True

et pourtant on ne peut pas modifier les données dans la grille !
est ce normal ??
est ce que c'est parceque ma grille n'est pas associé a un controle ADO par hasard ?

mercredi 16 juin 2004 à 14:49:46 | Re : Question sur DATAGRID et RECORDSET (please help me)

gaa179

Salut,

Ton recordset doit être du type ADODB (Dim RstProduit as ADODB.Recordset). Si c'est OK, tu dois l'ouvrir en écriture:
Syntaxe:
RstProduit.Open "Select * from Table where Champ1=" & Var1, MyDedCn, adOpenStatic, adLockOptimistic

A+

mercredi 16 juin 2004 à 14:53:37 | Re : Question sur DATAGRID et RECORDSET (please help me)

ymerej

oui il est bien de type ADODB.Recordset
mais je l'ouvrais en adOpenKeyset, adLockPessimistic

mercredi 16 juin 2004 à 14:56:23 | Re : Question sur DATAGRID et RECORDSET (please help me)

ymerej

mais ca marche tjs pas là !
Bonc po grave je vé essayer de faire autrement !

mercredi 16 juin 2004 à 15:00:00 | Re : Question sur DATAGRID et RECORDSET (please help me)

gaa179

Vérifie les paramètres de ta connexion ADO, elle est peut être en read only.
J'ai pas de problème d'édition ni d'ajout de record.
MyDedCn.ConnectionString Provider=MSDASQL.1;Persist Security Info=False;User ID=root;Data Source=Rigest;Mode=ReadWrite

mercredi 16 juin 2004 à 15:02:52 | Re : Question sur DATAGRID et RECORDSET (please help me)

ymerej

je n'ai pas ouvert de la même facon car j'utilise le SGBD postgreSQL sur un serveur UNIX /

AdoAquatec.ConnectionString = "UID=" & userName & ";PWD=" & password & ";" & "DRIVER={PostgreSQL};Server=" & IPServeur & ";Database=" & NomBaseDeDonnées & ";"

mercredi 16 juin 2004 à 15:08:00 | Re : Question sur DATAGRID et RECORDSET (please help me)

gaa179

Pour essai,

crée une connection au travers d'un dataenvironment et ensuite une commande. Associe la commande à ton dtagrid et voit si tu peux éditer tes données. Peut-être que le user que tu utilise n'a qu'un droit de read-only sur ta DB.



mercredi 16 juin 2004 à 15:10:21 | Re : Question sur DATAGRID et RECORDSET (please help me)

ymerej

ah peut etre OUI.
Non mais ecoute je te remerci vraiment de ta patience et de ta gentillesse mais je vais faire autrement :

en double cliquant sur une ligne, ca ouvre une fenetre et pi voilà c + conviviale !
@+ et merci encore

mercredi 16 juin 2004 à 15:42:02 | Re : Question sur DATAGRID et RECORDSET (please help me)

ymerej

Tout compte fé G encore besoin de toi car l'insertion dans la base fonctionne mais pas la mise à jour, voici mon code de la fonction qui se lance qd l'utilisateur clic sur le bouton ajouter ou modifier suivant le cas :
PS : ne fé pas attention à la fonction ReturnNullIfVide.
PS2 : pourtant lors d'une mise à jour, la msgbox qui me dit que la MAJ c bien passé se lance bien alors je n'y comprend plus rien !


Private Sub cmdAdd_Click()
Dim rstNewProduit As ADODB.Recordset

Set rstNewProduit = New ADODB.Recordset
rstNewProduit.Open "Produit", AdoAquatec, adOpenKeyset, adLockOptimistic, adCmdTable
On Error GoTo err_insert

If Me.Tag = AJOUTER Then
rstNewProduit.AddNew
Else
rstNewProduit.Find "id_prod = " & frmMain.dgRech.Columns(0), , adSearchForward, 1
End If
With rstNewProduit
.Fields("id_type") = cmbType(1).Text
.Fields("id_taille") = cmbTaille(1).Text
.Fields("reference") = ReturnNullIfVide(txtFields(1).Text)
.Fields("reference_four") = ReturnNullIfVide(txtFields(2).Text)
.Fields("libelle_fr") = ReturnNullIfVide(txtFields(3).Text)
.Fields("libelle_an") = ReturnNullIfVide(txtFields(4).Text)
.Fields("description") = ReturnNullIfVide(txtFields(5).Text)
.Fields("prix_achat") = ReturnNullIfVide(txtFields(6).Text)
.Fields("prix_revient") = ReturnNullIfVide(txtFields(7).Text)
.Fields("prix_vente") = ReturnNullIfVide(txtFields(8).Text)
.Fields("quantite") = ReturnNullIfVide(txtFields(9).Text)
.Fields("stock_mini") = ReturnNullIfVide(txtFields(10).Text)
.Update
End With

If Me.Tag = AJOUTER Then
MsgBox "L'article " & txtFields(3) & vbNewLine & "Référence " & txtFields(1) & vbNewLine & "a été ajouté avec succès dans la base", vbInformation, "Succès de l'opération"
Else
MsgBox "L'article " & txtFields(3) & vbNewLine & "Référence " & txtFields(1) & vbNewLine & "a été modifié avec succès dans la base", vbInformation, "Succès de l'opération"
End If
RechercheProduit "", RECHERCHE_TOUT
Unload Me
Exit Sub

err_insert:

If AdoAquatec.Errors.Count > 0 Then
Select Case AdoAquatec.Errors.Item(0).Number
Case ERREUR_NULL
MsgBox "Vous avez oubliez de spécifier un champ obligatoire", vbExclamation, "Erreur lors de l'insertion dans la base"
Case ERREUR_TYPE
MsgBox "Erreur de type : " & vbNewLine & "-Les prix doivent etre des réels à virgule" & vbNewLine & "-La quantité et le stock minimum des entiers", vbExclamation, "Erreur lors de l'insertion dans la base"
Case Else
MsgBox "Description erreur :" & vbNewLine & AdoAquatec.Errors.Item(0).Description, vbExclamation, "Erreur lors de l'insertion dans la base"
End Select
Else
MsgBox Err.Description
End If

End Sub

mercredi 16 juin 2004 à 15:48:09 | Re : Question sur DATAGRID et RECORDSET (please help me)

gaa179

tu dois faire un rstproduit.requery pour rafraichier ton datagrid


1 2

Cette discussion est classé dans : recordset, question, datagrid, true, dgrech


Répondre à ce message

Sujets en rapport avec ce message

datagrid reste vide [ par pink ] bonjour,est ce que quelqu'un peut me dire le probleme de ce code ? mon datagrid ne se rempli pas... j'ia vu des exemples de code ou on specifie direct DATAGRID + RECORDSET [ par aocorp ] Bonjour,Je voudrai savoir comment remplir une datagrid a partir d'un recordsetLa table comporte 2 champsVoici mon code :Dim cnnAdo As New ADODB.Connec recordset datagrid [ par titeuf921 ] bonjour a tous je recherche desesperement de l'aide pour copier une ligne entiere d'un datagrid (un bookmark il me semble) dans un autre datagrid.o sc Recordset ADO et DataGrid... Aidez moi, j'ai besoin d'un pro!!! [ par C17 ] Salut à tous, j'ai un gros problème, je veux utiliser une variable adodb.recordset pour gérer deux tables liées, je travailles avec un Shape, mais je Clonage de recordset [ par wico2002 ] 1er questionBonjour j'aimerais savoir si je clone un recordset, est-ce que si je fais des modifcations dans un ou l'autre, les modif seront-ils visibl question de loop [ par atalayk ] ....oldu = TrueDo While oldu = True...loop....pourquoi ça ne marche pas?toutes les fois j'essais de construire un loop infini l'application se casse.. datagrid et recordset [ par fxfranck ] salut à tous,voila mon pb : je veux juste remplir un datagrid par un recordset,voila mon code : Private Sub Form_Load()'Déclaration de la variable de Mettre oui ou non dans une colonne d'un datagrid [ par lucio57 ] Bonjour,J'utilise un datagrid qui est alimenté par un contrôle AdodcMa requête d'alimentation utilise des champs booleanJe voudrais que dans la colonn datagrid [ par Simaifou ] Salut tout le mondeJ' essaie en vain de charger la datasource d'une datagrid avec un adodb.recordset voici mon affaireform_load() dim rs as adodb.re DataGrid : Help ! [ par CochonPerdu ] Comment fait-on pour sélectionner une ligne d'une DataGrid ? C'est à dire que l'utilisateur clique sur n'importe quelle colonne et que la ligne soit s


Nos sponsors

Sondage...

CalendriCode

Téléchargements



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,562 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.