Écriture dans la table TransGLHeader
2 participants
- ssawchuk
- Nombre de messages : 2
Date d'inscription : 11/05/2010
Écriture dans la table TransGLHeader
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 :
Merci,
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,
- Lartis
- Nombre de messages : 640
Ville : Laval
Date d'inscription : 03/04/2007
Fiche d'Entreprise
Nom de l'entreprise: Groupe Conseil Lartis Inc.
Table composées...
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
Voici un extrait du fichier d'aide Acomba, section "Tables composés" - "Opération d'écriture"
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
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
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum