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)

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 table1
WHERE 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

Membre Club
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 ici
Si 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

Membre Club
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 ici
Si 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


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), 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,640 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é.