begin process at 2012 02 15 18:13:10
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Visual Basic & VB.NET

 > 

Archives Visual Basic

 > 

VBA

 > 

Problème enregistrement en VBA avec liaison Table


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Problème enregistrement en VBA avec liaison Table

vendredi 9 mai 2003 à 18:02:56 | Problème enregistrement en VBA avec liaison Table

Gdal

Bonjour,



J'ai deux tables:
+ Tbl_ndos avec:
- ID_ndos en numéroauto et clé primaire
- N_dos en numérique

+ Tbl_clas avec:
- ID_nclas en numéroauto et clé primaire
- Ref_Tblndos en numérique
- N_clas en texte

elles sont liées ainsi
Tbl_ndos.ID_ndos ---1--------plusieurs---> Tbl_nclas.Ref_Tblndos

Mon souci arrive en vba !!

J'ai un formulaire "Form_1" avec:
+ un champ "N_dos" que je rempli (via VBA) à l'ouverture du formulaire
=> on ne peut pas avoir deux fois le même numéro dans le champ "N_dos"
+ un champ "texte"
+ une zone de liste "Zone_nclas" qui m'affiche les numéros de classeur
=> Cette liste est remplie en fonction du champ "N_dos"

SELECT Tbl_ndos.ID_ndos, Tbl_ndos.N_dos, Tbl_nclas.N_clas FROM Tbl_ndos INNER JOIN Tbl_nclas ON Tbl_ndos.ID_ndos=Tbl_nclas.Ref_Tbl_ndos WHERE Tbl_ndos.N_dos=" & Me.N_dos & ";"

+ un bouton "ajouter"

voilà pour le décor !

Maintenant, je voudrais, en passant par le VBA évidemment, enregistrer la valeur contenue dans le champ "texte", dans le champ "N_clas" de la table "Tbl_nclas" mais que celle-ci soit lié à la table "Tbl_ndos".

Je pense bien qu'il faille passer par le SQL dans mon recordset mais je vois pas comment.
Voilà le code !


Dim db As DAO.Database
Dim rec As DAO.Recordset

SQL = "SELECT Tbl_ndos.ID_ndos, Tbl_ndos.N_dos, Tbl_nclas.ID_nclas, Tbl_nclas.Ref_Tbl_ndos, Tbl_nclas.N_clas FROM Tbl_ndos INNER JOIN Tbl_nclas ON Tbl_ndos.ID_ndos = Tbl_nclas.Ref_Tbl_ndos WHERE Tbl_ndos.N_dos=" & Me.N_dos & ";"

Set db = CurrentDb()
Set rec = db.OpenRecordset(SQL)

rec.AddNew
rec![N_clas] = Me![texte]
rec.Update
rec.Close

Me.Zone_nclas.requery


L'erreur est, maitenant la suivante:
Erreur d'exécution '3101':
Le moteur de base de donnée Microsoft Jet ne peut pas trouver d'enregistrement dans la table 'Tbl_Ndos' avec le (les) champ(s) 'Ref_Tbl_ndos' correspondant à la clé.
Et m'emmène sur la ligne
rec.Update

merci d'avance du coup de main !

Gdal
vendredi 9 mai 2003 à 19:08:53 | Re : Problème enregistrement en VBA avec liaison Table

frappemisere

a voir ton message d'erreur, je dirai tout d abord que tu as du faire une erreur d orthographe quelque part



-------------------------------
Réponse au message :
-------------------------------

> Bonjour,
>
>
>
> J'ai deux tables:
> + Tbl_ndos avec:
> - ID_ndos en numéroauto et clé primaire
> - N_dos en numérique
>
> + Tbl_clas avec:
> - ID_nclas en numéroauto et clé primaire
> - Ref_Tblndos en numérique
> - N_clas en texte
>
> elles sont liées ainsi
> Tbl_ndos.ID_ndos ---1--------plusieurs---> Tbl_nclas.Ref_Tblndos
>
> Mon souci arrive en vba !!
>
> J'ai un formulaire "Form_1" avec:
> + un champ "N_dos" que je rempli (via VBA) à l'ouverture du formulaire
> => on ne peut pas avoir deux fois le même numéro dans le champ "N_dos"
> + un champ "texte"
> + une zone de liste "Zone_nclas" qui m'affiche les numéros de classeur
> => Cette liste est remplie en fonction du champ "N_dos"
>

> SELECT Tbl_ndos.ID_ndos, Tbl_ndos.N_dos, Tbl_nclas.N_clas FROM Tbl_ndos INNER JOIN Tbl_nclas ON Tbl_ndos.ID_ndos=Tbl_nclas.Ref_Tbl_ndos WHERE Tbl_ndos.N_dos=" & Me.N_dos & ";"
>

> + un bouton "ajouter"
>
> voilà pour le décor !
>
> Maintenant, je voudrais, en passant par le VBA évidemment, enregistrer la valeur contenue dans le champ "texte", dans le champ "N_clas" de la table "Tbl_nclas" mais que celle-ci soit lié à la table "Tbl_ndos".
>
> Je pense bien qu'il faille passer par le SQL dans mon recordset mais je vois pas comment.
> Voilà le code !
>
>

> Dim db As DAO.Database
> Dim rec As DAO.Recordset
>
> SQL = "SELECT Tbl_ndos.ID_ndos, Tbl_ndos.N_dos, Tbl_nclas.ID_nclas, Tbl_nclas.Ref_Tbl_ndos, Tbl_nclas.N_clas FROM Tbl_ndos INNER JOIN Tbl_nclas ON Tbl_ndos.ID_ndos = Tbl_nclas.Ref_Tbl_ndos WHERE Tbl_ndos.N_dos=" & Me.N_dos & ";"
>
> Set db = CurrentDb()
> Set rec = db.OpenRecordset(SQL)
>
> rec.AddNew
> rec![N_clas] = Me![texte]
> rec.Update
> rec.Close
>
> Me.Zone_nclas.requery
>

>
> L'erreur est, maitenant la suivante:
> Erreur d'exécution '3101':
> Le moteur de base de donnée Microsoft Jet ne peut pas trouver d'enregistrement dans la table 'Tbl_Ndos' avec le (les) champ(s) 'Ref_Tbl_ndos' correspondant à la clé.
> Et m'emmène sur la ligne
> rec.Update
>
> merci d'avance du coup de main !
>
> Gdal


Cette discussion est classée dans : id, dos, tbl, ndos, nclas


Répondre à ce message

Sujets en rapport avec ce message

Ajout Enregistrement dauns une table [ par DAVIMIKA ] Bonjour et bonne année   <P class=MsoNormal style="MAR SELECT avec 2 liens FK vers la même table [ par Jaxom ] Bonjour, J'ai plusieures tables Tbl_Affilies qui contient: Affilies_Id Affilies_Nom_commercial Affilies_Rue_commercial_Id Affilies_Nom_Prive Affilies HELP - je ne trouve pas le problème dans ma requête [ par Shion_SEIYA ] Bonjour à tous, Voici mon souci, J'ai 2 Combo, 1 pour la version et 1 pour le numéroSur changement de la première, je veux récupérer l'identifiant de Problème d'accent sous DOS [ par Henkala ] Bonjour,Je génère à partir de VB 2008 express le fichier texte suivant :Lines6.Insert(10, <font color="#a3151 Problème de refresh Datagridview suite à un Fill de mise à jour sur le dataset [ par Jaxom ] Bonsoir, J'ai un dataset, un bindingnavigator, un tableAdapter et un databindings. Au bout d'un certain temps, je demande à mon dataset de se mettre Cliquer un bouton via VB [ par quoitoidire ] Bonjour,Je suis bloqué depuis un certain temps sur ce sujet:Voici un code qui est sensé cliquer le bouton "Options" de PdfCreatorCe code fonctionne pa Filtre dynamique Datagridiew [ par vince42 ] Bonjour à toutes et à tous, Voilà, je cherche à filtrer une datagridview en fonction de critères que j'ai préalablement renseigné dans ma zone filt Entier sur 3 chiffres ? [ par julienbouchot ] Bonjour je suis en train d'améliorer un système d'enregistrement et d'édition de fax. Le principe est simple : L'utilisateur ouvre un modèle, un popu Création de table Access [ par andreti62 ] Bonjour à tous, je viens humblement demander votre aide pour enfin créer une table correctement. Pour info j'utilise Visual Studio 2008. Avant tout vo DoCmd.OpenForm , problème pour la condition where [ par Selverine ] Bonjour, J'aimerai ouvrir un formulaire, en spécifiant une condition. Il faut que mon champ web_id (situé dans la table COMPANIES) soit égale au cha


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 5,132 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales