[Access] Ecrire dans une table SAGE par ODBC
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?
Configuration: XP Pro Access 97
27 réponses
Une demande porte sur l'écriture de données d'un formulaire Access dans une table SAGE ligne 100 via ODBC, et l'écriture dans DOC_ENTETE par un recordset ou DAO. Plusieurs réponses soulignent des contraintes liées au driver ODBC, notamment l'ouverture simultanée de Sage Ligne 100 et Access, les erreurs d'insertion et la possibilité d'une connexion non exclusive. Des suggestions évoquent l'utilisation de SQL via cnx.Execute ou le débogage pour vérifier la syntaxe d’un INSERT, et indiquent des problèmes d’accès multi-postes. Pour certains, l'achat d'un driver ODBC Sage 100 autour de 300 euros est évoqué, avec des limites de travail non exclusif et des conseils pratiques sur le choix de l'outil.
-
Ton message ne me rassure pas...
Et un driver ODBC de ligne 500 pourrait-il permettre un acces en ecriture?
Merci -
Je veux effectuer une requête qui contient la fonction Replace de SQL via ODBC mais j'obtiens cette erreur :
[Simba][Simba ODBC Driver]Invalid scalar function: REPLACE.
vous avez une solution ? -
Bonjour,
est ce que quelqu'un pourrait le fournir l'ODBC sage version 13.01 je l'ai mais mon CD est endommagé :(
merci bien -
Bonjour,
Merci pour le lien ppa. -
Bonjour,
j'ai arrivé un peut tartd dans ce forum, or je suis intéressé par ce fichier .pdf aussi (indiquant structure des fichiers sage L100) si vous pouvez m'envoyez le document -
merci mais ça répond pas malheureusement au fait que quelqu'un aurait il trouver une astuce pour lire (éditer) la liste des droits d'accès
en effet nous avons beaucoup de droit par groupe etc... et c'est très rébarbatif de se saisir ça a la main pour mettre dans des feuilles excels....
avec bien sur tous les risques d'erreur et l'impossibilité de vérifier si un administrateur est venu modifié les droits qui ont été validé par l'entreprise
en fait si on pouvais seulement lire même avec une méthode pas très "catholique" afin de comparer a notre BD externe des droits alloué ça serai super -
hello :)
j'utilise recement sage et j'aimerai exporter la base de donnée vers access ou mysql, qui peut m'aider please
merci d'avance :) -
ContributeurBonjour Laurent,
Dans les produits de la base proprietaire, les tables des droits d'accès ne sont pas accessibles pour des raisons de sécurité.
Il convient donc de gérer à la mano les comptes et les mots de passe, sachant qu'un mot de passe peut toutefois être ré-initialisé par l'administrateur ou toute personne duement autorisée.
A noter qu'il est important de faire ce relevé aujourd'hui, parce qu'avec la mise à jour en V15, la liste ne sera même plus accessible en consultation.
A+
Phil -
et comment acceder au table des droits pour en faire une edition
de controle
puisque on as pas acces a celle ci.... -
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 -
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 -
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 -
ContributeurBonjour 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-
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. -
-
-
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 !!! -
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 -
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-
ContributeurGood 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
-
-
c'est bon tu a deja 48 com arrete de nos casser les pieds stp merci?
-
ContributeurSlt 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
-
-
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-
Contributeurbonjour 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 -
@ppaBonjour Phil
Je rentre de vacances, merci pour ta réponse, je viens d'essayer et cela fonctionne
A+
Marcanto
-
-
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 -
quelqu'un connaitrait le nom de la table où est stocker toute les informaions sur un client?
-
ContributeurSlt 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 -
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 -
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. -
Contributeur@pandarougeSlt Pandarouge,
Poste la syntaxe de la requete que tu soumets, que j'y jette un oeil.
A+
Phil -
Contributeur@AdilSlt 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
-
- 1
- 2