Problème d'enregistrement sur une table
yg_be Messages postés 23541 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
J'ai un soucis pour enregistrer des données sur une table que je ne comprends pas. Je fais un logiciel de suivi de matériels et comme la base de données regroupe 12k outils, j'ai ma base de données divisé en deux. Une partie pour les fiches modèle qui regroupe le nom du matériel, la photo, la référence article, le type de contrôle. Et ensuite j'ai les fiches outils qui sont rattachés au fiche modèle leur correspondant et la date de buté du prochain contrôle. On y retrouve leur numéro de série, leur position et une case commentaires.
Lorsque qu'on reçoit de nouveau matériels, on doit créer une fiche modèle avant de créer l'outil si jamais on à pas déjà se modèle. Cette partie fonctionne nickel mais lorsque je souhaite créer un outil, le code s'exécute mais rien n'ai inscrit dans ma table. Pourtant j'ai aucun message d'erreur qui s'affiche. Le code est le même que pour la création de fiche modèle, d'où mon incompréhension.
Voici le code que j'ai pour créer un outil :
Dim rs As DAO.Recordset Set rs = CurrentDb.OpenRecordset("Outils",dbOpenDynaset) rs.FindFirst "[Clé_modèle] = " & Me.Clé_modèle.Value & " AND [SN] = " & Chr(34) & Me.SN.Value & Chr(34) If rs.NoMatch = False then MsgBox "Un outil possédant les mêmes références outils et le même SN existe déjà. Vous ne pouvez enregistrer cet outil.", vbOKOnly, "Doublon" Goto fin: End if MsgBox "Outil créer" DoCmd.Close,,acSaveYes Fin:
Tout s'exécute sans erreur mais rien n'est rentrée dans ma table. Si quelqu'un à une solution, je suis preneur.
- Problème d'enregistrement sur une table
- Table ascii - Guide
- Table des matières word - Guide
- Enregistrement mp3 gratuit - Télécharger - Streaming audio
- Table des caractères - Guide
- Telecharger studio d'enregistrement rap - Télécharger - Édition & Montage
3 réponses
bonjour,
Le code ne crée jamais rien, il affiche simplement l'un ou l'autre message.
Je ne comprends ni pourquoi ni comment tu as "coupé" ta base en deux.
Quand je dit coupé en deux c'est juste que j'ai une table pour les fiches modèle et une pour les outils. Je me suis mal exprimé.
Tu me dit que sa affiche juste juste un des 2 messages mais sur ma création de fiche modèle, ma ligne se créér bien dans ma table.
J'ai fait sa comme code du coup avec se que j'ai trouvé sauf qu'il me met "erreur de compilation : Étiquette non défini" que je ne comprends pas.
Private Sub CmdValider_Click() ' On teste si les butées ont toutes été remplies If ((NbControles > 0 And IsNull(Me.Texte21.Value)) Or (NbControles > 1 And IsNull(Me.Texte22.Value)) Or (NbControles > 2 And IsNull(Me.Texte23.Value)) Or (NbControles > 3 And IsNull(Me.Texte24.Value)) Or (NbControles > 4 And IsNull(Me.Texte25.Value)) Or (NbControles > 5 And IsNull(Me.Texte26.Value)) Or (NbControles > 6 And IsNull(Me.Texte27.Value)) Or (NbControles > 7 And IsNull(Me.Texte28.Value))) Then MsgBox "Le renseignement des dates de butées est obligatoire", vbOKOnly, "Erreur de saisie" GoTo fin: End If 'On réactualise certaines cases au cas où... Actualisation_date Controle1, 1, Periode1 Actualisation_date Controle2, 2, Periode2 Actualisation_date Controle3, 3, Periode3 Actualisation_date Controle4, 4, Periode4 Actualisation_date Controle5, 5, Periode5 Actualisation_date Controle6, 6, Periode6 Actualisation_date Controle7, 7, Periode7 Actualisation_date Controle8, 8, Periode8 ' On fait aussi quelques tests If IsNull(Me.SN) Or IsNull(Me.Position) Then MsgBox "Le renseignement des champs SN et Position est obligatoire", vbOKOnly, "Erreur de saisie" GoTo fin: End If Dim rs As DAO.Recordset Dim i As Integer Set rs = CurrentDb.OpenRecordset("Outils", dbOpenDynaset) rs.FindFirst "[Clé_modèle] = " & Me.Clé_modèle.Value & " AND [SN] = " & Chr(34) & Me.SN.Value & Chr(34) If rs.NoMatch = False Then MsgBox "Un outil possédant les mêmes références outils et le même SN existe déjà. Vous ne pouvez enregistrer cet outil.", vbOKOnly, "Doublon" GoTo fin: End If With rs For i = Me.Clé_modèle.Value To Me.SN.Value rs.AddNew rs("Outils").Value = i rs.Update Next End With MsgBox "Outil créer" End Sub fin: End Sub