Envoyé par
informer
Si les données ODBC_SOURCE ne servent qu'à alimenter ta base voici un exemple de requête pour charger ta table tblCommande sachant qu'elle doit avoir la même clé fonctionnelle que la table d'origine ODBC_SOURCE => Ajout du champ dateLivraison dans tblCommande
Requête 1: Sélectionne que les lignes de ODBC_SOURCE dont le tuple (dateLivraison, numero,Type) n'existe pas dans tblCommande
1 2 3
| SELECT ODBC_SOURCE.*, tblCommande.IDCommande
FROM ODBC_SOURCE LEFT JOIN tblCommande ON (ODBC_SOURCE.DateLivraison = tblCommande.dateLivraison) AND (ODBC_SOURCE.Numero = tblCommande.NumCommande) AND (ODBC_SOURCE.Type = tblCommande.TypeCommande)
WHERE (((tblCommande.IDCommande) Is Null)); |
Puis on ajoute dans tblCommande les enregistrements de cette vue mais seulement une fois par tuple (dateLivraison, numero,Type)
1 2 3 4
|
INSERT INTO tblCommande ( DateLivraison, NumCommande, TypeCommande, CodeClient )
SELECT DISTINCT qryNotExiste.DateLivraison, qryNotExiste.Numero, qryNotExiste.Type, qryNotExiste.CodeClient
FROM qryNotExiste; |
Mais cela se base sur la RG suivante:
Il faut ensuite faire ça pour tblDetailCommandeArticle...Ainsi tu peux partir sur une base propre et indépendante de ODBC_SOURCE
Informer, il y a une chose que je ne comprend pas. En faisant cela les formulaires de ma base ne me servent plus à rien non?
J'avais dans l'idée que l'utilisateur sélectionne l'année, le type et le numéro dans les list_box du formulaire "F_Saisie". Puis, une fois tous les champs renseignés ainsi que les sous-formulaire rempli, appuie sur le bouton "Ajouter" ce qui créé l'enregistrement dans les tables tblCommande, tblDetailCommandeArticle, tblDetailCommandePalette.
De plus dans la première requête SQL cela ne va pas :
(ODBC_SOURCE.Type = tblCommande.TypeCommande)
En effet dans ODBC_SOURCE j'ai la date de livraison prévue alors que j'ai dans tblCommande la date de préparation
Partager