|
Trouver une ressource
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 : Modification ADO [ Base de données / ADO & DAO ] (pulpul74)
Informations & options pour cette discussion
mercredi 12 mars 2008 à 16:31:48 |
Modification ADO

pulpul74
|
Bonjour. J'aurais encore une fois besoin de votre aide. J'accède actuellement à une base de données grace à le méthode ADO. Le problème que je rencontre se produit lors de la modification d'un donnée, celle ci est bien modifiée mais toute la colonne l'est aussi!! voici mon code:
connectionADO.Provider = "Microsoft.jet.OLEDB.4.0" ' Chemin de la Base de Données - ici le répertoire de l'application connectionADO.ConnectionString = App.Path & "\territoire.mdb" ' Ouverture de la connection connectionADO.Open commandeADO.ActiveConnection = connectionADO ' Configuration de la conmande avec requete SQL commandeADO.CommandText = "SELECT table1.Date_sortie FROM table1" ' Initialisation du Curseur Client resultatADO.CursorLocation = adUseServer ' Utilisation d'un Curseur Client Dynamique resultatADO.CursorType = adOpenDynamic ' Vérouillage de l'Enregistrement dès son accès resultatADO.LockType = adLockPessimistic ' Transmission de la commande à la méthode Open resultatADO.Open commandeADO
'Mise en position du curseur pour la modification de la ligne voulue i = 0 Do Until i = pos_cursor resultatADO.MoveNext i = i + 1 Loop
'Je prend la date choisie nouvelle_date = Calendar.Value 'Modification 'Frm_details_liste.Data_frm_details.Recordset.Edit 'préparation du data pour modification de la base de données resultatADO!Date_sortie = nouvelle_date resultatADO.Update 'MAJ resultatADO.Requery
Donc ce qui arrive, c'est que j'ai plusieur enregistrement dans cette requette, et toute la colonne 'Date_sortie' est modifiée. Alors que j'ai réalisé la meme opération sur une autre colonne de cette table (par contre c'est du texte), et cela marché bien!
Si quelqu'un a une idée de la cause... je sèche...
|
|
|
mercredi 12 mars 2008 à 16:43:50 |
Re : Modification ADO

zen69
|
Ben premierement il semble innutile dans cet opération de scroller tous les enregistrement jusqu'a ce que tu tombes sur le bon. Tu deverais donc utlisé un meilleur method tel que : resultatADO.Move(....)a la place de resultatADO.MoveNext de cette facon tu vas tomber directement sur l'enregistrement désiré.
Une autre amilioration qui reglerais ton probleme du meme coup serait de selectionner un enregistrement au lieu de la total de ta table.
commandeADO.CommandText = "SELECT table1.Date_sortie FROM table1WHERE id=monId" Si tu utilises une commande de ce type... lors de ton updates seul les enregistrements selectionné seront mis a jour. En esprérant que ceci puisse t'aider.    zen69 aka Ortho Le Profett [site web]
|
|
|
mercredi 12 mars 2008 à 17:32:38 |
Re : Modification ADO

pulpul74
|
Merci, c'est vrai que c'est une méthode plus fiable. Donc je l'ai testée... mais là autre problème, que je ne comprend pas non plus, j'ai beau chercher(ou je cherche mal alors..). Voici mon code:
Dim ID as integer ' Configuration de la conmande avec requete SQL commande3ADO.CommandText = "SELECT table1.Id FROM table1 ' Initialisation du Curseur Client resultatADO.CursorLocation = adUseServer ' Utilisation d'un Curseur Client Dynamique resultatADO.CursorType = adOpenDynamic ' Vérouillage de l'Enregistrement dès son accès resultatADO.LockType = adLockPessimistic ' Transmission de la commande à la méthode Open resultatADO.Open commandeADO
resultatADO.Move (pos_cursor)
ID = resultatADO!Id
et là, c'est le drame, il me met 'erreur d'execution 3265:Impossible de trouver l'objet dans la collection...
Là je vois pas...
|
|
|
mercredi 12 mars 2008 à 17:39:54 |
Re : Modification ADO

Exploreur
|
Salut, Juste au passage, prendre l'habitude de mettre le code au complet, c'est plus lisible(lecture) par la suite : ID = resultatADO.Fields("Id").Value A+ Exploreur
Linux a un noyau, Windows un pépin 
Un jeu en flash sympa...? Voir iciSi vous voulez vous inscrire mettez comme parrain : exploreur Vous aurez grâce à cela des cadeaux virtuels (Boites d'asticots, sachets de thé .....!)
|
|
|
jeudi 13 mars 2008 à 09:00:01 |
Re : Modification ADO

pulpul74
|
Le code au complet? Tu parle du 'ID = resultatADO!Id', ou est ce qu'il faut que je mette plus de code? Enfin pour mon problème, j'ai essayé ta méthode, mais c'est pareil, il n'a pas l'air de trouver le champ'Id' dans ma table, alors que ce champs est la clé primaire de ma table access... c'est quoi ce bug!!! Et si je change le nom du champ ca me donne la meme erreur... 
|
|
|
jeudi 13 mars 2008 à 09:31:53 |
Re : Modification ADO

Exploreur
|
Salut, As-tu bien un champ dans ta table qui s'appel ID ? Regarde s'il ne s'appel pas N°.... A+ Exploreur
Linux a un noyau, Windows un pépin 
Un jeu en flash sympa...? Voir iciSi vous voulez vous inscrire
|
|
|
jeudi 13 mars 2008 à 10:25:59 |
Re : Modification ADO

pulpul74
|
Alors oui, mon champ s'appelle bien Id, d'ailleur, je fait une copie de la requete SQL que j'ai créé sous Access. J'ai essayé de faire la meme requete avec DAO, et là, ca marche, il me prend bien l'ID...bizard quand meme.
Bon donc ensuite, puisque j'ai récupéré l'ID, je fait donc la requete pour selectionné juste la ligne à modifier, grace à ADO et à la requete sql: "SELECT table1.Date_sortie, table1.Id From table1 WHERE (((table1.Id)=" & Idd & "))" là je modifie, et surprise!!! ba ca me modifie les 2 champs 'Date_sortie' alors que là j'en ai selectionnée une seule... (à noté que ca me modifie les 2 que lorsque je selectionne là 2eme ligne, quand je prend la 1ere, ca me modifie que celle là).
Donc là, dans mon desespoir, je revient à la bonne vieille méthode DAO. donc je rentre la même requete, je modifie et là... ba meme problème, ca me modifie les 2 champs quand je selectionne le 2eme champ...
|
|
|
Cette discussion est classé dans : base, date, ado, modification, resultatado
Répondre à ce message
Sujets en rapport avec ce message
Contrôle d'erreur ADO sur System.DateTime [ par bletec ]
Bonjour,J'interroge une base de données ODBC d'un logiciel de Gestion Electronique de Documents "Alchemy". Si on définit un champ de type 'Date' dans
ado et petit reseau [ par edsm ]
Bonjour, y a 'il un pro pour me tuyauterje suis en train de dev. une petite base de donnée qui tourne avec ADO, 4 a 5 postes se connectent sur un fich
Base de données ACCESS [ par ratita64 ]
Bonjour à tous,Je suis dans une base access, je visualise des données à partir du graphique croisé dynamique. J'ai trié en abscisse par date mais je n
problèmes de dates [ par mart44 ]
Jour tout le monde Bon je m'arrache les cheveux avec les dates ! lol Je m'explique. J'ai un formulaire avec 2 dates, date de création et date de mod
Base access champ date problème [ par beetsy ]
Hello a tousJ'ai un petit soucis, dans ma base access, j'ai un champ date, et quand je le fous dans mon appli (asp.net) avec Reader.getvalue(0) par ex
Connexion ado [ par jcdupayage ]
Bonjour.Suite a des problèmes réseau j 'utilise 2 connexion ado dans la même application une connexion permanente pour mise a jour des tables et une c
Base en réseau avec VB + Access+ ADO : HELPPPP !!!! [ par globule ]
Bonjour,J'ai toujours des problemes avec ADO et access. Lorsque j'attaque en reseau un même base avec le programme ci dessous ADO m'affiche le message
Probleme de groupe de controle avec access asser urgent [ par Thiben1 ]
Bonjour!J'ai n projet a finir pour ce wiknd et j'ai un probleme de groupe de controel avec access!Je voudrais faire afficher dans un groupe de conntro
2 bases Access [ par Claudevb ]
J'ai une base Access 2003 que j'accede par ADO. J'AI CRÉE UNE AUTRE BASE aCCESS VIDE AVEC UNE STRUCTURE DIFFÉRENTE ET CRÉEE AVEC L'UTILITAIRE VB6.jE V
Ado.net, DataSet et structure [ par thiosyiasar ]
Bien le boujour à tous.Depuis les journées rencontres aux données de Microsoft, je me suis penché sur ado.net.Le dataset permet de garder une copie de
Livres en rapport
|
Téléchargements
Logiciels à télécharger sur le même thème :
Comparez les prix Nouvelle version
|