Ecriture d'un champ impossible dans un dbf avec les ADO
cs_pledoux
Messages postés147Date d'inscriptionmardi 12 octobre 2004StatutMembreDernière intervention 6 mars 2007
-
14 oct. 2004 à 16:40
cs_pledoux
Messages postés147Date d'inscriptionmardi 12 octobre 2004StatutMembreDernière intervention 6 mars 2007
-
15 oct. 2004 à 14:24
Bonjour,
Je ne peux pas mettre à jour le champ d'une table dbf (seq_imp). Dans le debug, tout se passe bien mais lorsque je vérifie ma table, aucune valeur n'a changé. Je n'ai aucun message d'erreur. J'ai du oublier quelque chose.
jrivet
Messages postés7392Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 201260 14 oct. 2004 à 17:04
salut,
une question C:\toto.dbf c est une base de donnees non?
je crois que tu puisse mettre ca comme Source D un FROM dans une requete SQL. IL faut mettre le nom d une table de la base de donnees.
@+
Julien
-----------------------------------------------------------
:big) Essai ca sinon on trouvera autre chose ;)
-----------------------------------------------------------
cs_pledoux
Messages postés147Date d'inscriptionmardi 12 octobre 2004StatutMembreDernière intervention 6 mars 2007 14 oct. 2004 à 17:12
Salut,
Le SourceType de ma ConnectionString est bien DBF donc une table externe. Je ne peux malheureusement pas faire autrement, ce n'est pas moi qui génère les tables.
J'ai repris les mêmes bases qu'hier pour les premières lignes.
En plus je vois bien les valeurs correctes de mes champs lorsque je me déplace dans ma base avec les Move. Donc je suis bien connecté.
jrivet
Messages postés7392Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 201260 14 oct. 2004 à 17:17
re,
SI tu arrive bien a naviguer avec le Recordset peu etre que tu as raison alors.
Et bien mais la requete SQL de l UPDATE dans un recordset
rst.activeconnection = cnx
Rst.Source = "UPDATE C:\tot.dbf SET .... WHERE ....."
rst.open
Mais j suis vraiment pas sur que ca marche...
@+
Julien
-----------------------------------------------------------
:big) Essai ca sinon on trouvera autre chose ;)
-----------------------------------------------------------
jrivet
Messages postés7392Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 201260 14 oct. 2004 à 17:41
SAlut,
OUi tu peux mettre SEQ_IMP=SEQ_IMP + 1 SI SEQ_IMP est le nom d une colonne de la table.
Dans Nº_Enreg tu dois mettre le nom d une colone ... en bref tu mais ce qui te permetra d identifier ta OU TES lignes
@+
Julien
-----------------------------------------------------------
:big) Essai ca sinon on trouvera autre chose ;)
-----------------------------------------------------------
jrivet
Messages postés7392Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 201260 14 oct. 2004 à 17:55
re,
OUILLE alors la ca depasse mes competences en SQL...
J vais essayer de te chercher ca...
@+
Julien
-----------------------------------------------------------
:big) Essai ca sinon on trouvera autre chose ;)
-----------------------------------------------------------
jrivet
Messages postés7392Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 201260 15 oct. 2004 à 12:30
Salut,
ca rame avec la Requete en SQL???
@+
Julien
-----------------------------------------------------------
:big) Essai ca sinon on trouvera autre chose ;)
-----------------------------------------------------------
cs_pledoux
Messages postés147Date d'inscriptionmardi 12 octobre 2004StatutMembreDernière intervention 6 mars 2007 15 oct. 2004 à 14:24
Re,
Le mieux est que je t'explique ce que je fais.
J'ai une appli qui tourne en fond. Cette appli commande une imprimante avec une cadence de 20.000 feuilles / heure et me génère une fichier texte avec ou choix le N° d'enregistrement imprimé ou le N° sequentiel de document imprimé.
Il faut donc que j'intercepte les données du fichier texte pour mettre à jour une table et incrémenter le champ m'indiquant que l'enregistrement a été imprimé (pour éviter d'imprimer des doublons) car celui-ci est testé avant de l'imprimer (ça se mort un peu la queue).
Pour résumer :
- le programme d'impression teste si l'enregistrement n'a pas déjà été imprimé avant de la faire puis ecrit qu'il est imprimé dans une fichier texte (c'est la sortie sortie possible pour cette appli),
- le programme que je fais actuellement lit le fichier texte pour incrémenter le champ qui comporte le nombre d'impression de l'enregistrement. Donc mon UPDATE ne comporte d'un enregistrement et je ne peux pas faire 20.000 update / heure sur ma table.