Acomba (Forum)
Pourquoi ne pas devenir membre du forum ?

Identifiez-vous ou Inscrivez-vous afin d'accéder à l'inrégralité du forum:
Accès à toutes les catégories du forum,
Entraide entre les 6 500 membres, et ce nombre s'accroît quotidiennement!

Notez que ce forum est indépendant de la société Acceo Solutions, éditrice du logiciel Acomba.
Connexion

Récupérer mon mot de passe


Écriture dans la table TransGLHeader

Voir le sujet précédent Voir le sujet suivant Aller en bas

Écriture dans la table TransGLHeader

Message  ssawchuk le Mar 11 Mai 2010 - 15:53

Bonjour,

D'après la documentation, il est possible d'écrire dans le table TransGLHeader, par contre, peu importe ce que je fais, j'arrive toujours à une erreur. Est-ce que quelqu'un a déjà essayé de le faire et surtout à y parvenir ?

Voici la dernière erreur que j'ai eu :

Une erreur est survenue lors de l'exécution de la requête suivante : INSERT INTO TransGLHeader (JoType,JoPeriod,JoBankCP,JoBankNumber,JoTransactionNumber,JoAmount ,JoDescription,JoCurrentSession,TGNumPosts,TGCheckGLUsed) VALUES (1,1,0,0,1,0,'VENTE Liquidation EdgeLine',-1,2,0).

ERROR [ ] Erreur de ToolKit
Fonction = ReserveCardNumber
Champ = PK_BankNumber
Erreur = Valeur invalide <1997>


Merci,

ssawchuk

Nombre de messages : 2
Date d'inscription : 11/05/2010

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Table composées...

Message  Lartis le Jeu 13 Mai 2010 - 21:11

Bonjour,

Il n'est pas possible d'écrire directement dans cette table, il faut utiliser la séquence suivante.

-BEGIN_TRANSACTION_GL
-ajouter dans Header avec le bon nombre de ligne
-ajouter les lignes dans ...Detail
-END_TRANSACTION_GL

Code:

    Dim cnn As New ADODB.Connection
   
    ' Connection à la base de données
    cnn.ConnectionString = "DSN=...;" 'mettre le nom de votre DSN
    cnn.CursorLocation = adUseClient
    cnn.Open
       
    ' récupère la période
    Dim rstControlGlData As New ADODB.Recordset 'seulement pour CurrentPeriod
    rstControlGlData.Open "select * from ControlGL", cnn, adOpenKeyset, adLockOptimistic
    Dim NCurrentPeriod As Integer
    NCurrentPeriod = rstControlGlData!CGCurrentPeriod
    rstControlGlData.Close
   
    Dim rstCharterData As New ADODB.Recordset
    Dim rstTransGLData As New ADODB.Recordset
    Dim rstTransGLDetailData As New ADODB.Recordset
    Dim rstTransHeader As New ADODB.Recordset
 
    cnn.Execute ("BEGIN_TRANSACTION_GL")
   
    rstTransGLData.Open "select * from TransGLHeader", cnn, adOpenKeyset, adLockOptimistic
    rstTransGLData.AddNew
   
    rstTransGLData!JoType = 3 ' 3: transaction
   
    rstTransGLData!JoDate = Date
    rstTransGLData!JoDescription = "SDescription"
    rstTransGLData!JoPeriod = NCurrentPeriod
   
    'Nombre d'affectations comptables
    rstTransGLData!TGNumPosts = 2
   
    rstTransGLData.Update
   
    '***************************************************************
    'Étape 4 :  Initialisation des propriétés de chacune des
    '          affectations comptables
    '***************************************************************

    rstTransGLDetailData.Open "select * from TransGLDetail", cnn, adOpenKeyset, adLockOptimistic
   
    'Initialisation des propriétés de la première affectation comptable
    rstCharterData.Open "select * from Charter where ChNumber = " & NCompteDe#, cnn, adOpenKeyset, adLockOptimistic
    rstTransGLDetailData!PGCharterCP = rstCharterData!RecCardPos
    rstTransGLDetailData!PGDescription = rstCharterData!ChDescription '"A"
    rstTransGLDetailData!PGAmount = -NMontant#
    rstTransGLDetailData!PGCategory = rstCharterData!ChCategory '2 ' Cat_Assets
    rstTransGLDetailData!PGJournalType = 3 '1 ' JT_Check
    rstTransGLDetailData.Update
    rstCharterData.Close
   
    rstTransGLDetailData.MoveNext
   
    'Initialisation des propriétés de lan deuxième affectation comptable
    rstCharterData.Open "select * from Charter where ChNumber = " & NCompteVers#, cnn, adOpenKeyset, adLockOptimistic
    rstTransGLDetailData!PGCharterCP = rstCharterData!RecCardPos
    rstTransGLDetailData!PGDescription = rstCharterData!ChDescription '"De"
    rstTransGLDetailData!PGAmount = NMontant#
    rstTransGLDetailData!PGCategory = rstCharterData!ChCategory
    rstTransGLDetailData!PGJournalType = 3 '3: transaction
    rstTransGLDetailData.Update
    rstCharterData.Close
   
    'Fin de la transaction
    cnn.Execute ("END_TRANSACTION_GL")
   
    'fermeture des connexions ouvertes
    rstTransGLDetailData.Close
    rstTransGLData.Close
    cnn.Close

Voici un extrait du fichier d'aide Acomba, section "Tables composés" - "Opération d'écriture"
Pour effectuer des opérations d'écriture sur un ensemble de tables composées, des commandes spécifiques ont été prévues dans le pilote ODBC pour Acomba. En effet, pour ajouter ou modifier un enregistrement affectant un ensemble de tables composées, il faut d'abord exécuter la commande BEGIN, puis, après avoir inséré ou modifié les valeurs dans les différentes tables, il faut exécuter la commande END appropriée. Les commandes BEGIN, CANCEL et END du pilote ODBC pour Acomba sont les suivantes présentées à la rubrique Fonctions spécifiques du chapitre Grammaire SQL.

Par exemple, pour créer une facturation à l'aide du pilote ODBC pour Acomba, il faut d'abord exécuter la commande BEGIN_TRANSACTION_IN, ensuite insérer les données de l'en-tête de la facturation dans la table TransactionHeader puis, mettre à jour les données des différentes lignes de la facturation dans la table TransactionDetail et, enfin, exécuter la commande END_TRANSACTION_IN. De la même façon, pour modifier une facturation, il faut d'abord exécuter la commande BEGIN_TRANSACTION_IN, ensuite modifier les données voulues de l'en-tête et/ou des lignes de la facturation et, finalement, exécuter la commande END_TRANSACTION_IN.

L'exemple du fichier d'aide qui se rapproche le plus de ce que vous voulez faire, dans le fichier d'aide, c'est celui pour "Ajouter un chèque".

Le fichier d'aide est dans: C:\Fortune\SnapIn\ODBC\0C_ODBC.hlp

_________________
Sylvain Laurence, partenaire, revendeur et développeur Acomba
Groupe Conseil Lartis Inc. www.lartis.com
avatar
Lartis

Nombre de messages : 640
Ville : Laval
Date d'inscription : 03/04/2007

Fiche d'Entreprise
Nom de l'entreprise: Groupe Conseil Lartis Inc.

Voir le profil de l'utilisateur http://www.lartis.com

Revenir en haut Aller en bas

Voir le sujet précédent Voir le sujet suivant Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum