Forum d'entraide Acomba
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.

Rejoignez le forum, c’est rapide et facile

Forum d'entraide Acomba
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.
Forum d'entraide Acomba
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Connexion
Le deal à ne pas rater :
Pokémon EV06 : où acheter le Bundle Lot 6 Boosters Mascarade ...
Voir le deal

Aller en bas
Jeremie
Jeremie
Nombre de messages : 123
Date d'inscription : 11/08/2010

Fiche d'Entreprise
Nom de l'entreprise:
http://bourgeois-sc.com

lenteur avec la conection ODBC Acomba Empty lenteur avec la conection ODBC Acomba

Mer 11 Aoû 2010 - 11:17
Bonjour,

J'ai un logiciel en vb.net 2003 qui se connecte à Acomba via l'ODBC.
J'essais de créé une commande et je dois lire les termes de paiement et les information du client, malheureusement, mon application Crash à chaque fois.

Une exception non gérée du type 'System.ArithmeticException' s'est produite dans system.windows.forms.dll

Informations supplémentaires : Overflow or underflow in the arithmetic operation.

De se que j'ai pu comprendre par Google, c'est que l'ODBC répond pas assez rapidement, se qui fait que mon application ne peux pas ouvrir la fenêtre.

Est-ce qu'il y aurais une solution ?

Merci.
PlanteG
PlanteG
Nombre de messages : 1024
Ville : Québec
Date d'inscription : 11/07/2007

Fiche d'Entreprise
Nom de l'entreprise: Informatique Gilles Plante
http://ingp.ca

lenteur avec la conection ODBC Acomba Empty lenteur avec la conection ODBC Acomba

Mer 11 Aoû 2010 - 17:42
Hum,

je suis sceptique sur l'explication trouvée, puisque l'exception fait référence à une erreur d'arithmétique. Pourriez-vous copier dans un message le code de la routine (et le contexte de l'appel), et à quelle ligne le message d'erreur est associé ? Avec ces informations peut-être que l'on aura une idée de ce qui se produit.

Qu'avez-vous trouvé sur Google au sujet de l'ODBC ?
Jeremie
Jeremie
Nombre de messages : 123
Date d'inscription : 11/08/2010

Fiche d'Entreprise
Nom de l'entreprise:
http://bourgeois-sc.com

lenteur avec la conection ODBC Acomba Empty Re: lenteur avec la conection ODBC Acomba

Jeu 12 Aoû 2010 - 9:06
Bonjour,

En faites, j'ai surtout chercher une définition de l'erreur d'arithmétique.
Puis
que par expérience, je sais que 90 % du temps c'est sois une division
par 0 ou une boucle infini. J'ai eu très très souvent cette erreur au
CÉGEP lenteur avec la conection ODBC Acomba Icon_biggrin .

Le contexte est toujours le même, je lance une requête SQL via l'objet ODBC de .net

Il y a plusieurs endroit dans le code ou j'ai se problème est tous sont lié à Acomba.
Voici un exemple :

Try

Select Case iErpId
Case 1
objERP = New cErpAcomba
sDisplay = "ctDescription"
sValue = "ctNumber"
Case 2
Case Else
End Select

cbTermePaiement = cFormatCombobox.setDataInCombo(cbTermePaiement, objERP.getTermePaiment("") _
, sValue, sDisplay, True)
Catch ex As Exception

End Try


La
classe ERP est une interface et ERPAcomba n'est qu'une définition des
functions déclarer dans l'interface ERP. Mon logiciel sera connecté à au
moins un autre logiciel comptable un futur plus ou moins proche.

cbTermePaiement est un combo box qui contient la liste des terme de paiement.

La function getTermePaiment utilise un objet cSQLAcomba pour exécuter cette requête.
"SELECT ctNumber,ctDescription FROM CustomerTerm "

Dans la classe cSQLAcomba, je déclare un OdbcCommand que j'utilise pour exécuter la query.

J'obtient
l'erreur d'underflow uniquement quand je load une form et qui je veux
peupuler sois un datagrid, sois un combobox ou même des textbox.

Pour
pouvoir tester, J'ai été obligé de mettre un bouton LOAD en plein
milieux de la form ... sauf que ce n'est pas user friendly ni très
jolie.

Et ça casse aussi le loading des datas qui vienne de SQLServer.
Dans
mes autres fenêtres, ça causait pas trop de problème vu que les données
critique loadé automatiquement venait tous du serveur.

Dans le pire des cas, on va tester de se connecté à Acomba via Access, mais bon.


Merci et bonne journée.
PlanteG
PlanteG
Nombre de messages : 1024
Ville : Québec
Date d'inscription : 11/07/2007

Fiche d'Entreprise
Nom de l'entreprise: Informatique Gilles Plante
http://ingp.ca

lenteur avec la conection ODBC Acomba Empty Re: lenteur avec la conection ODBC Acomba

Jeu 12 Aoû 2010 - 10:42
Avez-vous essayer de décomposer le tout, par exemple obtenir dans un premier temps les données (termes de paiement), puis par la suite charger le combobox ?

À moins que je ne me trompe, getTermePaiment() et cFormatCombobox() semblent des routines ou méthodes que vos avez créées, est-ce exact ? Que retourne getTermePaiment() ?
Jeremie
Jeremie
Nombre de messages : 123
Date d'inscription : 11/08/2010

Fiche d'Entreprise
Nom de l'entreprise:
http://bourgeois-sc.com

lenteur avec la conection ODBC Acomba Empty Re: lenteur avec la conection ODBC Acomba

Jeu 12 Aoû 2010 - 12:04
Oui, j'ai tout décomposé.

formatCombobox fonctionne parfaitement quand les datas viennent de SQLServer , d'Acces voir d'un Fichier Excel.

GettermePaiement ne fonctionne que si je passe par on bouton et non si je passe par

Code:
   
Private Sub frmCommande_Load(ByVal sender As System.Object, _
                                          ByVal e As System.EventArgs) _
                                                    Handles MyBase.Load

        setText()
        setRight()

        dtpDate.Value = Today
        rnd = New Random

        If iQuotationId > 0 Then
        '    bindQuotation()
        End If

        'bindCombo() (C'est ici que je vais peuplé le combobox)

        If iCommandeId > 0 Then
            bindCommande()
        End If

    End Sub

GettermePaiement returne un dataset qui est décomposé par formatCombobox ou par n'importe qu'elle autre méthode futur.

Le problème n'est pas GettermePaiement, mais le lien entre Acomba et .net qui est pas suffisamment rapide lors de l'ouverture des fenêtre.
J'ai le même crash si je load le client, le vendeur, la liste des types de produit, la liste des groupes de produit ...

Comme je disais dans mon post initial, j'ai se problème Quasiment partout ou je dois aller chercher des informations dans Acomba, sauf que dans les autres Form, ça ne causait pas de problème vu que utilisateur ne devait que cliquer deux fois sur le bouton ou faire refresh pour avoir une liste X.

Sauf que là ... mon système est déstabilisé, au pire, je verrais avec mon patron la semaine prochaine, si pas possible de corriger le problème on transférera la gestion des Terme de paiement dans mon logiciel.

J'ai vraiment hâte à la nouvelle version Acomba avec un vrais engin SQL ...soupir ...

J'ai vraiment l'impression que le problème vient de la gestion ODBC du .net 2003.

M'enfin après deux ans, j'ai toujours finis par trouver le moyen de contourner, mais ça devient chiant à la longue.
PlanteG
PlanteG
Nombre de messages : 1024
Ville : Québec
Date d'inscription : 11/07/2007

Fiche d'Entreprise
Nom de l'entreprise: Informatique Gilles Plante
http://ingp.ca

lenteur avec la conection ODBC Acomba Empty Re: lenteur avec la conection ODBC Acomba

Jeu 12 Aoû 2010 - 13:35
J'ai vraiment hâte à la nouvelle version Acomba avec un vrais engin SQL ...soupir ...
Bien vrai que cela va régler un certain nombre de problèmes lenteur avec la conection ODBC Acomba Icon_wink .

Le pilote ODBC n'est pas reconnu pour sa grande vitesse, et attendant il faut faire avec. Il y la solution du SDK, mais ça demande pas mal plus de travail.

Pour en revenir à votre problème, l'événement _Load se produit au moment où la fenêtre est créée, et le timing peut devenir un cauchemar. J'ai fouillé mais je n'ai pas réussi à trouver si l'événement est déclenché au début de la création de la fenêtre, ou une fois qu'elle est complétée. Par contre, il semble que l'événement _Activate se produit plus tard dans la chaîne des événements. Le code qui charge le combobox pourrait-il être logiquement associé à l'événement _Activate ? Ou bien pour éviter le délai dans l'événement _Load, l'appel à getTermePaiment() pourrait-il être fait avant de faire apparaître la fenêtre ? Ce n'est peut-être pas élégant, mais si ça marche...
Jeremie
Jeremie
Nombre de messages : 123
Date d'inscription : 11/08/2010

Fiche d'Entreprise
Nom de l'entreprise:
http://bourgeois-sc.com

lenteur avec la conection ODBC Acomba Empty Re: lenteur avec la conection ODBC Acomba

Jeu 12 Aoû 2010 - 13:38
Si ça fonctionne, votre suggestion sera mieux qu'un gros bouton lenteur avec la conection ODBC Acomba Icon_biggrin

Merci beaucoup.

J'avais vraiment pas pensé à celle l'à.

Edit.

Nop, même résultat ... uderflow exception ... lenteur avec la conection ODBC Acomba Icon_cry
PlanteG
PlanteG
Nombre de messages : 1024
Ville : Québec
Date d'inscription : 11/07/2007

Fiche d'Entreprise
Nom de l'entreprise: Informatique Gilles Plante
http://ingp.ca

lenteur avec la conection ODBC Acomba Empty Re: lenteur avec la conection ODBC Acomba

Jeu 12 Aoû 2010 - 13:49
Manque de chance lenteur avec la conection ODBC Acomba Kopfschuettel .

Se peut-il que le combobox ne soit pas créé au moment de le charger ? Si ça ne marche pas avec _Activate, ça devrait fonctionner si le foutu recordset est empli à l'avance, à moins que le problème ne soit ailleurs.
Jeremie
Jeremie
Nombre de messages : 123
Date d'inscription : 11/08/2010

Fiche d'Entreprise
Nom de l'entreprise:
http://bourgeois-sc.com

lenteur avec la conection ODBC Acomba Empty Re: lenteur avec la conection ODBC Acomba

Jeu 12 Aoû 2010 - 14:00
En .Net, il y a pas de recordset, mais je comprend se que vous voulez dire.
Non, le dataset est remplis à la demande ...

Mais vous me donné un piste.

Le problème serai une sorte de conflit entre .net qui veux construire sont interface (combobox, datagrid ...) et l'odbc qui lui cherche ramener les données.

D'où l'underflow ...

Mouiap, bon c'est tiré par les cheveux.

Bon, je vais chercher autrement.
Vais finir les autres fonctionnalité.

Merci pour votre aide.
Jeremie
Jeremie
Nombre de messages : 123
Date d'inscription : 11/08/2010

Fiche d'Entreprise
Nom de l'entreprise:
http://bourgeois-sc.com

lenteur avec la conection ODBC Acomba Empty Re: lenteur avec la conection ODBC Acomba

Mar 24 Aoû 2010 - 10:15
Voila, après une semaine de vacance, j'ai trouvé une solution plus esthétique qu'un bouton en plein milieux.

Suffit d'utiliser un timer que l'on start à la fin du load de la form.
Le code du timer s'exécute 5 secondes après la fin de l'affichage de la fenêtre.

Une fois les données loader d'Acomba,on détruit le timer et c'est ni vue ni connu.

Merci pour votre aide.
PlanteG
PlanteG
Nombre de messages : 1024
Ville : Québec
Date d'inscription : 11/07/2007

Fiche d'Entreprise
Nom de l'entreprise: Informatique Gilles Plante
http://ingp.ca

lenteur avec la conection ODBC Acomba Empty Re: lenteur avec la conection ODBC Acomba

Mar 24 Aoû 2010 - 10:26
Bien content que vous ayez trouvé une solution Very Happy . Il y avait bien un problème de timing avec lequel il fallait composer.

La programmation est parfois une science inexacte, ce qui nous force à implanter du code qui ne nous plait pas, mais ainsi va la vie Razz .
Contenu sponsorisé

lenteur avec la conection ODBC Acomba Empty Re: lenteur avec la conection ODBC Acomba

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