Bonjour,
D'abord, j'épère que je suis sur le bon forum, sinon je suis désolé
J'ai migré une base qui était sous SQL Server vers PostgreSQL.
je suis en train de modifier l'appli Access qui va avec pour la faire marcher avec PostgreSQL.
j'utilise un lien ODBC (psqlodbc) pour attaquer la base PostgreSQL.
L'application marche maitenant presque entièrement.
Le problème qui reste concerne les requêtes qui font des DELETE sur des enregistrements vides.
Exemple :
SQLBuf = "delete from maTable where num= '" & monNum & "'"
Call SQL_ExecuteRequete(SQLBuf)
S’il y a des enregistrements dans la table pour le numéro concerné, le formulaire s’ouvre normalement.
S‘il n’en a pas, un message d’erreur apparaît :
Erreur d’exécution 3021
Aucun enregistrement en cours.
Le lien ODBC est coupé.
Quant je teste ma requête directement dans l'analyseur de requêtes de PostgreSQL, je n'ai pas d'erreurs qu'il y ait des enregistrements concernés ou non par le delete.
Donc en fait, il plante quand on lui demande d'effacer des enregistrements qui ne sont pas présents !
Une solution serait de vérifier si un enregistrement existe avant de l'effacer mais ceci représenterait pas mal de boulot étant donné qu'il y a beaucoup de requêtes de ce type
j'aimerais savoir si c'est irrémédiable ou s'il y a un moyen de contourner le problème
merci
Nico
Sujet déplacé du forum VB par Thierry AIM
Partager