J'ai créé une base de données pour le travail, et j'ai créé un formulaire pour y ajouter des choses, afin que les employés ne plaisantent pas avec les tables. Il ajoutera toujours les données, mais parfois au lieu de l'ajouter en bas, il remplacera une autre ligne de données. Parfois, même pas une rangée entière, juste quelques colonnes. J'ai essayé de faire le code de deux manières différentes.Vba ajouter des données à la table écrase d'autres données
CurrentDb.Execute " INSERT INTO [Service Calls] " _
& "([Project Name], [Phone Number], [email], [Source], [Service Address], [Zip Code], [Date of Service], [Type of Call], [Technician], [Ticket Number], [Invoice Number], [Total Billed], [Description of Work]) VALUES " _
& "('" & Me.proj & "', '" & Me.phone & "', '" & Me.email & "', '" & Me.source & "', '" & Me.address & "', '" & Me.zip & "', '" & Me.doS & "', '" & Me.toC & "', '" & Me.tech & "', '" & Me.ticketNum & "', '" & Me.invoiceNum & "', '" & Me.billed & "', '" & Me.work & "');"
CurrentDb.Close
et
Dim rst As Recordset
Set rst = CurrentDb.OpenRecordset("Service Calls")
With rst
.AddNew
.Fields("Project Name") = Me.proj
.Fields("Service Address") = Me.address
.Fields("Date of Service") = Me.doS
.Fields("Technician") = Me.tech
.Fields("Total Billed") = Me.billed
.Fields("Zip Code") = Me.zip
.Fields("Description of Work") = Me.work
.Fields("Type of Call") = Me.toC
.Fields("Invoice Number") = Me.invoiceNum
.Fields("Ticket Number") = Me.ticketNum
.Update
End With
rst.Close
Set rst = Nothing
Je suis que l'on contient plus de données que l'autre. J'ai utilisé le code supérieur lorsque j'ai mis à jour le formulaire. Résolu: Certains champs du formulaire étaient liés. Donc, ces éléments écraseraient parfois. Une fois que je n'aurais pas lié ces champs, il cesserait d'écraser.
Ni le .AddNew ni le 'Insert into' ne seront superposés aux données existantes dans les tables. Les contrôles sur votre formulaire sont-ils BOUND ou UNBOUND? Si BOUND, je suis assez certain que le problème est que votre formulaire affiche une ligne de données et que quelqu'un tape dans cette ligne qui modifie les données. Y a-t-il d'autres codes ailleurs qui pourraient le faire? –
Certains sont BOUND, d'autres sont UNBOUND. Je vais les désaccorder tous, et voir si cela le corrige. Il y a un autre code, mais il ne fait que remonter une requête, donc je ne pense pas que cela fasse quoi que ce soit. – Chris
@ WayneG.Dunn ajouter une réponse à UNBOUND choses dans le formulaire afin que je puisse dire que vous m'avez donné la réponse. Merci. – Chris