[Access] Ecrire dans une table SAGE par ODBC

Fermé
frugierpat Messages postés 4 Date d'inscription jeudi 8 septembre 2005 Statut Membre Dernière intervention 14 septembre 2005 - 8 sept. 2005 à 17:52
 Houssem86 - 5 juil. 2013 à 11:03
Bonjour,

je suis novice dans l'utilisation d'Access.
Je dois ecrire des données d'un formulaire Access dans une table SAGE ligne 100 liée par ODBC.

Je souhaite ecrire des données dans la table DOC_ENTETE.
Je ne sais pas du tout comment faire.

Merci de m'éclairer.

Peut-on utiliser des recordset? DAO?

27 réponses

frugierpat Messages postés 4 Date d'inscription jeudi 8 septembre 2005 Statut Membre Dernière intervention 14 septembre 2005 1
12 sept. 2005 à 12:33
Ton message ne me rassure pas...

Et un driver ODBC de ligne 500 pourrait-il permettre un acces en ecriture?

Merci
3
L1L1 Messages postés 8 Date d'inscription jeudi 8 septembre 2005 Statut Membre Dernière intervention 21 septembre 2005
9 sept. 2005 à 15:25
Salut !

Qu'est ce que c'est comme ligne 100 ?

SQL ?

Propriétaire ?

Parce qu'une 100 "proprio" n'a pas d'acces en écriture via leur driver odbc :o((
0
frugierpat Messages postés 4 Date d'inscription jeudi 8 septembre 2005 Statut Membre Dernière intervention 14 septembre 2005 1
9 sept. 2005 à 16:51
Salut,

il s'agit d'une base proprio mais je sais qu'on peut ecrire dedans. Notre prestataire informatique nous proposait une solution (trop onereuse). C possible mais je ne sais justement pas comment.

Merci
frugierpat
0
L1L1 Messages postés 8 Date d'inscription jeudi 8 septembre 2005 Statut Membre Dernière intervention 21 septembre 2005
12 sept. 2005 à 09:33
Hello !

Bein en fait, ce qui n'est pas possible c'est de le faire avec le driver ODBC vendu par sage au client final...
Peut être que les distributeurs, eux, on des outils plus puissant ?!?

Amicalement,
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
L1L1 Messages postés 8 Date d'inscription jeudi 8 septembre 2005 Statut Membre Dernière intervention 21 septembre 2005
14 sept. 2005 à 14:39
Salut !!

Bein ex'cuz de ne pas de rassurer, mais ... non :o((

Le driver de la ligne 500 est également un driver en lecture seule !

Pas de moyen de remplacer / mettre à jour les données !!

Les dernières version (100, 1000 ...) sont des versions "Sql Serveur" et là (presque) tout est permis...

Quel est ton projet ? y'a peut être une autre piste ...

Amicalement,
0
frugierpat Messages postés 4 Date d'inscription jeudi 8 septembre 2005 Statut Membre Dernière intervention 14 septembre 2005 1
14 sept. 2005 à 15:06
Salut,

J'ai trouve une solution, je ne sais pas si c tres propre sachant que je ne suis pas programmeur de formation :

Dim Connection As Connection
Dim wrkODBC As Workspace
Set wrkODBC = CreateWorkspace("Name", "User", "Password", dbUseODBC)

Set Connection = wrkODBC.OpenConnection("ODBC;DATABASE=name;UID=User;PWD=Password;DSN=Test Connection")
Set rs2 = Connection.OpenRecordset("UPDATE F_DOCENTETE SET DO_COORD04 = '" & Left(TxtRecepisse.Value, 8) & "' WHERE DO_TYPE = 3 and DO_PIECE = '" & Left(TxtBLencours.Value, 8) & "'", dbOpenDynaset)
Do While rs2.StillExecuting
Debug.Print " [en cours d'exécution...]"
Loop

Connection.Close


Meme avec la piece ouverte dans SAGE, je n'ai pas de conflit. Il ne s'agit que d'une ecriture dans des champs libres.

Je teste et reteste mais ca fonctionne pour l'instant.

Amicalement,

Patrick
0
ppa Messages postés 254 Date d'inscription samedi 3 juillet 2004 Statut Contributeur Dernière intervention 23 août 2011 65
29 sept. 2005 à 17:44
Salut Frugierpat,

Pour écrire dans les tables de la base de données cBase, donc dite proriétaire, il est indispensable d'utiliser le driver Odbc de Sage.

Ce driver spécifique permet de gérer automatiquement les conflits d'accès simultanés (lock, unlock sur les records et les fichiers) et prend à sa charge les liens entre les tables pour assurer la cohérence des données.

Par exemple, lors de la création d'un mouvement dans F_DOCENTETE et F_DOCLIGNE, le driver fait automatiquement la gestion des stocks qui est particulièrement compliqué dans la ligne 100.

Même sous SQL, alors que l'on pourrait écrire directement dans la base, il est très vivement recommandé d'utiliser ce driver Odbc.

Pour exemple, j'ai réalisé une interface auto qui intègre dans la gescom des commandes reçues au fil de l'eau par un système spécifique pharma.
0
j'écris aussi une appli qui ecrit dans la gescom 100 sql v12
pas de problème de code, mais impossible de faire travailler deux postes en même temps sur la meme table sage (docligne) meme en simple lecture avec le drivers odbc.
une idée ?

merci de me répondre par mail

a bientot
0
paty Messages postés 39 Date d'inscription jeudi 21 novembre 2002 Statut Membre Dernière intervention 23 avril 2010
31 juil. 2009 à 09:51
Bonjour PPA !!

Bonjour Forum !


Je suis dans la même difficulté, je travaille avec le Cbase et je voudrai etraire des données de SAGE pour les inserer dans une BD montée sous MySQL (vice versa)

Comme vous le savez cBASE est propriétaire par conséquent j'ai besoin d'un ODBC pour pouvoir manipuler les difféentes tables de SAGE

Merci de me renseigner pour télécharger un odbc compatible à SAGE 100 (version 15)

James .........
0
ppa Messages postés 254 Date d'inscription samedi 3 juillet 2004 Statut Contributeur Dernière intervention 23 août 2011 65 > paty Messages postés 39 Date d'inscription jeudi 21 novembre 2002 Statut Membre Dernière intervention 23 avril 2010
1 août 2009 à 17:13
Bonjour Paty

Tu as parfaitement raison dans le fait que Sage en base propriétaire nécessite un driver ODBC pour accéder aux données en lecture comme en écriture.

Le driver ODBC de Sage ne se contente pas de faire une interface d'accès, mais il assure également des contrôles de cohérence indispensables à l'intégrité de la base de données Cbase. Par conséquent, le driver ODBC n'est pas en téléchargement libre comme pourrait l'être un MySQL puisqu'il intègre des règles métiers spécifiques aux applications développées par Sage.

Le driver ODBC Sage L100 (compatible aussi L30) est donc commercialisé par les revendeurs agréés Sage au prix public de 300 €HT, prix qui n'a pas bougé depuis plusieurs années malgré l'enrichissement des règles métier.

J'espère avoir apporté une réponse à ta demande.

Cordialement,

Phil
0
je suis curieux de savoir comment vous vous connectez à la BD de Sage?
j'essaie d'écrire dans SAGE comptabilité 100. je dispose du pilote ODBC fournit par SAGE.
J'arrive à visualiser les tables mais lors de l'importation un message d'erreur m'informe qu'il y a un problème d'argument (Sur Access)(un autre message sur windev9).
Comment réussissez-vous?
0
ppa Messages postés 254 Date d'inscription samedi 3 juillet 2004 Statut Contributeur Dernière intervention 23 août 2011 65
3 déc. 2005 à 00:00
Bonsoir Marcelin, bonsoir le Forum,

Je ne maîtrise pas Access, mais voici la methode pour se connecter via Excel. Dans la gestion des sources de données odbc, après avoir installé le driver odbc de Sage, dans l'onglet "Sources de données système", bouton "Ajouter", sélectionner le pilote "Sage Gestion Commerciale". Nommer la source de données (ex: GC_TEST), puis le bouton "Ouvrir", sélectionner le fichier comptable (ex : C_TEST.MAE), second bouton "Ouvrir", selectionner le fichier Gescom (ex : G_TEST.MAE). Valider le lien Odbc.

Dans excel, "Données", "Données externes", "Créer une nouvelle requête. Ms Query doit être installé et la fenêtre donne accès à la liste des liens odbc, slectionner GC_TEST.
Si la base de données Sage est protègée par des mots de passe, saisir les éléments demandés. Ms Query ouvre la base et offre les tables et champs.

Pour Windev, utiliser la fonction

SqlConnecte("GC_TEST",REQ1,"","ODBC")
cCommande = "select * from F_DOCENTETE where ...)
Sql Excecute(REQ2,cCommande)

Avant de quitter l'application, excécuter "SqlDeconnecte(REQ1)

La documentation de Windev est bien réalisée et tout y est expliqué.

Bon courage

Phil
0
Bonjour, je souhaiterais également faire un interface Windev qui puisse accéder à la BDD de Sage gestion commerciale 100. Il faut en fait que je génère des fichiers sous norme EDI. Je n'ai pas le driver ODBC, mais j'aimerais être sûr de pouvoir faire tout ce dont j'ai besoin avant le acheter. Pouvez-vous me confirmer qu'avec ce driver j'ai accées en écriture/lecture à la totalité de la base Sage ?
Une personne pourrait m'envoyer ce driver pour que fasse un essai ?

Merci d'avance.
0
ppa Messages postés 254 Date d'inscription samedi 3 juillet 2004 Statut Contributeur Dernière intervention 23 août 2011 65 > rob1f
6 janv. 2006 à 22:05
Bonsoir Rob1f, bonsoir le Forum,

Le driver ODBC permettant d'attaquer les BdD de Sage est un driver Simba. Il donne accès à la totalité des bases de données en lecture et écriture, tout en préservant l'intégrité des données. Par exemple, il est impossible de générer une requète DELETE sur un article si ce dernier comporte un stock, des numéros de série ou de lot ou s'il est mouvementé dans un quelconque document. Par contre, le driver assure de lui-même la cohérence des informations (ex: pour une requete de création d'un mvt d'entrée en stock, il contrôle si l'article est géré en stock, il assure le calcul auto des stocks à terme et stocks réels et contrôle si l'article est suivi en série/lot/fifo pour refuser le mouvement non pourvu du numéro de lot/serie)

Par ailleurs, les tables de gestion des comptes utilisateurs et des droits d'accès restent inaccessibles.

Pour accéder aux bases, dans la requete de connexion (sqlconnecte( )) il faut indiquer un login et un password valides.

Le driver ODBC doit être dans une version compatible avec celle des applications. Il est commercialisé avec une clé d'activation sans restriction et de ce fait ne pas être transmis pour test sans tomber sous le coup de la licence piratée, (ce qui ne correspond pas à la déontologie de ce forum).

Si besoin, n'hésite pas à me contacter par le forum pour plus d'infos.

A+
Phil.
0
rob1f > ppa Messages postés 254 Date d'inscription samedi 3 juillet 2004 Statut Contributeur Dernière intervention 23 août 2011
10 janv. 2006 à 15:57
Merci pour ces infos, peux tu m'indiquer quelle est exactement la référence de ce driver simba, je crois qu'il existe une version d'évaluation.

Encore merci
0
ppa Messages postés 254 Date d'inscription samedi 3 juillet 2004 Statut Contributeur Dernière intervention 23 août 2011 65 > ppa Messages postés 254 Date d'inscription samedi 3 juillet 2004 Statut Contributeur Dernière intervention 23 août 2011
12 janv. 2006 à 15:04
Bonjour rob1f, le forum,

Le driver ODBC s'acquiert auprès d'un revendeur Sage sous la référence ODB10WPP100 au prix unique de 300€.

Ce produit n'associe pas de contrat de maintenance. Il est néanmoins indispensable de tranmettre le n° de version de ta gescom afin d'obtenir le driver compatible.

Il n'existe pas de version d'évaluation sur le driver.

Pour un contact client chez Sage, 01.41.66.21.21.

Si besoin, n'hésite pas à me contacter par le forum pour plus d'infos, voir me laisser ton adresse email.

A+
Phil.
0
salut a tous
bon j'ai plusieurs soucis avec l'asp et l'odbc de sage
d'abord j'ai un message 'mauvaise version de fichier"
je suis en 12.02 pour l'odbc et j'ai des bases en verson 12 et en version 13
faut t'il que je fasse tourner l'odbc sur la machine ou se trouve le serveur sage ou bien puis je ouvrir mes bases sur une autre machine (le temps de faire mon programme qui va bien)
apres j'ai des problemes d'instruction qui ne passe pas en asp
ex: Dim Connection As Connection
ou bien "Set Connection = wrkODBC.OpenConnection"
alors peut etre qu'il me manque un fichier dans le programme pour definir mes dll du style <!--#include virtual="adovbs.inc"-->
donc le programme qui se trouve un peu plus haut de tourne pas chez moi
au secours !!!!!
0
ppa Messages postés 254 Date d'inscription samedi 3 juillet 2004 Statut Contributeur Dernière intervention 23 août 2011 65
9 mars 2006 à 09:55
Slt Fred,

Je peux te répondre sur Sage mais pas sur asp.

1 - Le driver ODBC doit avoir le niveau de la base que tu attaques. Attention, tu ne peux pas installer des drivers ODBC Sage simultanément en 2 versions différentes. Ton driver doit être installé sur la machine qui exécute l'application.

2 - Le serveur Sage sert à assurer l'accès concurentiel des utilisateurs à la base de données (accès ODBC compris). Si tu ne passes pas par le client/serveur Sage, tu ouvriras les bases en exclusif et tu paralysera l'exploitation. Une solution élégante serait de remonter une copie de tes bases sur le poste de dev et là, tu peux t'affranchir du serveur Sage.

Bon courage, A+

Phil
0
tipierre Messages postés 11 Date d'inscription lundi 15 mai 2006 Statut Membre Dernière intervention 5 juin 2006
16 mai 2006 à 19:42
quelqu'un connaitrait le nom de la table où est stocker toute les informaions sur un client?
0
ppa Messages postés 254 Date d'inscription samedi 3 juillet 2004 Statut Contributeur Dernière intervention 23 août 2011 65
23 mai 2006 à 09:18
Slt Tipierre,

Dans Sage Ligne 100, les informations concernant les clients sont enregistrées dans un fichier de tiers (Client, fournisseurs, salariés et autres). Le compte de tiers est identifié dans la table F_COMPTET qui comporte des liens avec, entre autres, la table F_COMPTEG (pour le contrôle du compte général collectif) et F_COMPTETG (cptes généraux pour le multi-collectif).

L'identification d'un tiers client se fait par la zone F_COMPTET.CT_Type = 1.

Ces tables sont communes à la comptabilité et à la gestion commerciale, dont ont ouvre simultanément les bases MAE et GCM pour l'utilisation de la gescom.

A ta disposition pour d'autres infos

Phil
0
Bonjour,
j'aimerais bien executer un delete ou update sur la base sage 100
mais je le message suivant qui s'affiche :

<eb1>Update statement not supported.
State:37000,Native:0,Origin:[Simba][SimbaEngine ODBC Driver]</eb1>

Je comprends pas !!!

J'aimerais bien savoir qu'es qu'il faut faire.*
Aussi l'utilisation du DUMP sur sage, vous avez un doc par hasard qui peut m'aider
0
pandarouge Messages postés 5 Date d'inscription mardi 5 septembre 2006 Statut Membre Dernière intervention 6 octobre 2006 2
12 sept. 2006 à 10:12
Bonjour tout le monde,

J'ai déjà posté cette question que je tente encore.


Lorsque j'importe une table de la compta sage 12.02 via le driver odbc 12.02 samba sous xp home sp2, la liste des tables sous la compta est affichée normalement, en revanche quand je selectionne une table puis je clique OK, j'obtiens le message : "Argument non valide."

Après une recherche sur Internet, il semble que cela vienne du fait que la version msjet40.dll est trop récente (4.0.8618.0). Cela correspond au SP8 du moteur jet.

Il semblerait qu'il faille installer le moteur jet 4.0 sp6. Mais il m'est impossible de le trouver sur le net.

Quelqu'un pourra m'aider à résoudre ce problème? Merci d'avance.

Pandarouge.
0
ppa Messages postés 254 Date d'inscription samedi 3 juillet 2004 Statut Contributeur Dernière intervention 23 août 2011 65 > pandarouge Messages postés 5 Date d'inscription mardi 5 septembre 2006 Statut Membre Dernière intervention 6 octobre 2006
13 sept. 2006 à 15:02
Slt Pandarouge,

Poste la syntaxe de la requete que tu soumets, que j'y jette un oeil.

A+

Phil
0
ppa Messages postés 254 Date d'inscription samedi 3 juillet 2004 Statut Contributeur Dernière intervention 23 août 2011 65 > Adil
13 sept. 2006 à 15:17
Slt Adil,

Ta requete d'update et de delete est transmise par le driver ODBC de Sage ?

Te connectes-tu avec un utilisateur/mot de passe valide dans la base de données en question ?

Sinon, envoies moi la syntaxe de la requete que tu soumets.

A+

Phil
0
Bonjour,

Je possède une version sage Ligne 100 avec des drivers ODBC. J'arrive parfaitement à atteindre les tables du logiciel de Gestion Commerciale, cependant lorsque j'essaye d'ateindre les table pour le logiciel de comptabilité, je n'arrive malheureusement pas à les ouvrir, j'ai un message d'erreur qui m'affiche (Argument non valide) pour n'importe qu'elle table de la Comptabilité.

Pourriez-vous m'aider à ce sujet ?

Merci d'avance a tous
0
marcanto65 Messages postés 1 Date d'inscription mercredi 1 août 2007 Statut Membre Dernière intervention 1 août 2007
1 août 2007 à 10:08
Bonjour à tous
j'utilise la version 14.04 de sage et le driver Odbc qui va avec.
J'ai un petit souci avec ma requête sql. J'essai de transférer des données de Excel vers Sage mais cela ne se passe pas correctement.
il me renvoi le message d'erreur suivant:
[Simba][simba ODBC Driver]Update F_ARTICLE Set AR_CODEEDIED_CODE1 = 3270190218289
AR_POIDSNET<<???>>=100 Where AR_REF='BRAAR10'

Avez vous une idée?

Merci d'avance
Marc
0
ppa Messages postés 254 Date d'inscription samedi 3 juillet 2004 Statut Contributeur Dernière intervention 23 août 2011 65
1 août 2007 à 12:40
bonjour marcanto65,

Ta requête me semblerai correcte si tu ajoutais une " , " avant AR_POIDSNET.

Le signe <<???>> indique l'élément que la requête ne sait pas interpréter, et dans ce cas, c'est la séparation avec 3270190218289.

Par ailleurs, quel est le type de AR_CODEEDIED_CODE1 ? Ne serait-ca pas de l'alpha ? dans ce cas, il mettre ta valeur entre " ' " (simple cote).

Bon courage,

A+
Phil
0
marcanto65 > ppa Messages postés 254 Date d'inscription samedi 3 juillet 2004 Statut Contributeur Dernière intervention 23 août 2011
22 août 2007 à 09:19
Bonjour Phil

Je rentre de vacances, merci pour ta réponse, je viens d'essayer et cela fonctionne

A+

Marcanto
0
mika903 Messages postés 721 Date d'inscription lundi 20 août 2007 Statut Membre Dernière intervention 20 octobre 2011 32
22 août 2007 à 09:29
c'est bon tu a deja 48 com arrete de nos casser les pieds stp merci?
0
ppa Messages postés 254 Date d'inscription samedi 3 juillet 2004 Statut Contributeur Dernière intervention 23 août 2011 65
23 août 2007 à 00:17
Slt mika903,

A qui tu t'en prends dans ton post ?

Les utilisateurs qui rencontrent des problèmes ne me cassent pas le pieds, perso.
Tout le monde ne peut pas être un cador dans tous les domaines.

Bon, d'un autre côté, je suis pas du genre à envoyer 15 posts en 2 jours non plus.

"Tolérance" pourrait être une vertue nécessaire sur un forum d'entraide.

Que la journée te soit agréable et profitable pour ta sérénité ...

A +

Phil
0
Bonjour,
Excuser mon mauvais français.
Nous developpe une software qui access une database Sage Ligne 100 gestion commerciale pour le driver ODBC de Sage.
Au moment ce ne pas possible de connecter quand le Sage gestion commercial est ouvrir a la meme temps.
Le access avec le driver ODBC marche bon quand le gestion commercial est fermer.
Ce possible ouvrire le database non-exclusivement ?
Nous ne voulons pas ecrir seulement recherche.

Merci beaucoup pour votre aide

Wolfgang
0
ppa Messages postés 254 Date d'inscription samedi 3 juillet 2004 Statut Contributeur Dernière intervention 23 août 2011 65
24 août 2007 à 12:00
Good morning wolf,
Bonjour wolf,

The software Sage L100 acces to the database directly. So, an handle lock the tables exclusively.
To share the access to the database, you need to use a client/server part called "Server NT Sage". It works with NT, 2K, 2K3. Take care with Vista. The first part (and the second one) are installed on the server, the second part is on each user workstation. The protocol used to communicate is TCP/IP.

The ODBC driver uses the access through the C/S mode and you can share the database with the Sage application (on the same workstation or an other one). Of course, you need to have a multiusers licence for the "gestion commerciale". You can obtain the Sage C/S by a Sage resaler . The cost is about 300 €.

----------

Le logiciel Sage L100 accède à la base de données directement. Un verrou bloque les tables de façon exclusive.
Pour partager l'accès à la base de données, tu dois utiliser un module "client serveur" nommé "Serveur Sage pour NT". cela fonctionne également avec NT, 2000, 2003. Attention avec Vista. La première partie (et la seconde) sont installées sur le serveur, la seconde sur chaque poste utilisateur. Le protocol utilisé est TCP/IP.

Le driver ODBC accède en C/S et tu peux partager ta base de données avec l'appli Sage (sur le même poste ou sur un autre). Bien sûr, tu dois disposer d'une licence multiutilisateurs pour ta gestion commerciale. Tu peux obtenir ce Serveur Sage auprès d'un revendeur au prix d'environ 300 €.

You can email me if you need any further information.
Tu peux m'envoyer un mail si tu as besoin d'autres informations.

Good luck, wolf,
bonne chance,

Phil
0
Bonjour Mozart,

As-tu d'installer sur ton poste le serveur SAGE permettant l'ouveture simultanée d'un même fichier de gestion commrciale ? (Peux tu ouvrir plusieurs gestions commerciale en même temps ?)

David
0
Bonjour,

Je suis en train de créer une requete qui récuperer le prix d'achat d'un article pour le rajouter dans le cout standard
par defaut la table F_ARTPRIX est vide, du coup je dois faire un insert des valeurs avec le AR_REF correspondant (je select en 1er les valeurs dans la table F_ARTICLE, puis dans ma boucle while je fais l'insert des valeurs retournées si j'ai pas déjà un enregistrement avec la meme ref)

bref je me retrouve avec un message d'erreur que voici :
erreur d'exécution '-2147217913 (80040e07)':
[Simba][Simba ODBC Driver]Error in assignment

et lors du debuggage il pointe sur mon cnx.Execute Sql

je crise parce que je ne vois pas du tout comment résoudre cette histoire
merci à tous ceux qui sauraient y répondre (je sais c'est pas évident)
au besoin je ferais un copier/coller du code mais je crois pas que ce soit nécessaire

merci !!!
0
ppa Messages postés 254 Date d'inscription samedi 3 juillet 2004 Statut Contributeur Dernière intervention 23 août 2011 65
3 oct. 2007 à 15:58
Bonjour Mike,

Il semble que ton driver ODBC te reproche une erreur du genre à tenter d'affecter une valeur du mauvais type au champ de la table.

Fais donc ton copier/coller de ton code SQL que tu soumet au driver, que l'on jette un oeil sur la syntaxe.

A+

Phil
0
bonjour,

J'ai lu les diverses réponses que tu donnes sur ce forum et je pense que tu pourrai entrès peu de temps me faire gagner beaucoup de temps.
J'ai personnellement quelque menu problème en ajout sur SAGE compta et gescom.
Si tu est toujours dans la partie, j'aimerai pouvoir te contacter par tel.
Sincèrement.
0
ppa Messages postés 254 Date d'inscription samedi 3 juillet 2004 Statut Contributeur Dernière intervention 23 août 2011 65 > georges
29 nov. 2009 à 22:59
Bonsoir Georges,

Donnes-moi une adresse en "mail privé" sur ce site et hors forum. Donnes-moi qqes explications.
En retour, je t'enverrai le moyen de me contacter.

@+

Phil
0
voilà le magot ;) merci d'y jeter un oeil ! :)

Sub teste()

'Déclaration des variables
Dim cnx As ADODB.Connection
Dim rst As ADODB.Recordset
Dim verif As ADODB.Recordset

'Instanciation des variables
Set cnx = New ADODB.Connection
Set rst = New ADODB.Recordset
Set verif = New ADODB.Recordset

'Connexion à la base de données
cnx.ConnectionString = "DSN=test;UID=plop;PWD=plop;"
cnx.Open

'Exécution de la requête
rst.Open "SELECT AR_REF, AR_PRIXACH FROM F_ARTICLE", cnx
rst.MoveFirst

While Not (rst.EOF)

Dim Sql As String
Dim value As Variant
Dim ref As String
value = rst("AR_PRIXACH")
ref = rst("AR_REF")


'Exécution de la requête
verif.Open "SELECT AR_REF FROM F_ARTPRIX WHERE AR_REF='" & ref & "'", cnx

Dim nbRst As Variant
nbRst = verif.CacheSize


If nbRst <> 0 Then

Sql = "INSERT INTO F_ARTPRIX (AR_COUTSTD, AR_REF)"
Sql = Sql & " VALUES "
Sql = Sql & "('" & value & "', "
Sql = Sql & "'" & ref & "')"

'On Error Resume Next
' debugger dit que erreur se trouve là ??? est ce mon insert ou les valeurs de mon insert ?
cnx.Execute Sql

Else
MsgBox ref & " already entered "
End If

rst.MoveNext
Wend
End Sub
0
Bonjour,

Sql = Sql & "('" & value & "', "

A priori, le &value& est entre simples cotes ce qui implique une valeur de type "caractère", alors que AR_COUTSTD est de type "Numérique"

Tente le coup et donnes-nous le résultat de ta correction.


A+

phil
0
Bonjour,


meme si je déclare value en tant que String ça ne fonctionne pas
il faudrait peut être forcer la conversion de rst("AR_PRIXACH") en format String
existe t'il une fonction qui le permette ?
à moins que la base sage 100 n'accepte que certains types particuliers ?

Thx
0
et comment acceder au table des droits pour en faire une edition
de controle

puisque on as pas acces a celle ci....
0