Bonjour à tous.
Je travaille sur une appli frontale ayant une base IMAGE sur HP3000 via ODBC32.
Je dois Updater des champs d'une table qui sont des "Sort Items" dans la base Image; ces champs ne sont pas modifiables directement via dt.update; il faut Deleter l'enregistrement pus le reécrire avec la valeur modifiée.
Etant "feignant" sur le code et n'ayant pas envie de réecrire une procédure pour chaque table, voyez vous une solution maline ?
Plusieurs solutions sont envisageables, vu de ma petite culture Access:
1 - Utilisation d'une table "locale" Access copie de la base Image; vidage; ajout des enregistrements voulus; modifs data (en local, pas de pb); sup des enregistrements de la table ODBC; ajouts de ceux de la table locale dans la table ODBC.
2 - Dim de variables correspondantes aux champs, stockage du record ODBC dans les variables, modif de la variable, delete du record ODBC et ADD à partir des variables mémoires.
La 1ére méthode me pose le soucis de la sécurité de la transaction, comment être sûr que les 5 enregistrements concernés ont bien été mémorisés / détruits / ajoutés quand on utilise des requetes ? (je ne connais pas le moyen de sécuriser la chose); par contre elle n'est pas lourde en code.
La 2éme méthode pose le soucis de la perso du code (un peu long) à chaque table à traiter de la sorte; a moins de trouver une méthode "générique" de stockage dans un tampon (pour modif) d'un enregistrement (énumération des champs ??).
Merci de vos lumières et toutes mes félicitations aux contributeurs de ce site qui aident les développeurs occasionnels isolés comme moi.
Philippe.
Partager