Salve a tutti,
Sto cercando di creare un db di componenti elettronici in access 2007 per l'ufficio in cui lavoro.
Ho creato una query di accodamento che, tramite il click di un pulsante, dovrebbe inserire il record da alcune textbox e combobox nella tabella "tb_componenti".
Quando clicclo sul pulsante mi restituisce il seguente errore :master:
Impossibile accodare tutti i record nella query di accomodamento
Numero di campi impostati a Null per un errore di conversione tra tipi:0; numero di record non aggiunti alla tabella a causa di violazioni di chiave:1; a causa di violazione di condivisione;0; a causa di violazioni della regola di convalida:0
Continuare comunque l'esecuzione della query di comado?
Fare click su si per ignorare l'errore o gli errori ed eseguire la query.
per una descrizione delle cause delle violazioni consultare la guida in linea
Posto il codice che ho scritto in vba:
Qualcuno mi sa spiegare come posso andare avanti?codice:Private Sub cmd_inserisci_Click() Dim recComponenti As New ADODB.Recordset Dim trovato As Boolean Dim query1 As String recComponenti.Open "tb_componenti", CurrentProject.Connection, adOpenForwardOnly, adLockOptimistic query1 = "INSERT INTO tb_componenti ([Nome Componente], [ID Tipologia], [ID Produttore], Descrizione, Giacenza, [ID Posizione], [ID Fornitore], [Codice Fornitore]) values ('" & txt_nomecomponente & "','" & txt_tipologia & "','" & txt_produttore & "','" & txt_descrizione & "','" & txt_giacenza & "','" & txt_posizione & "','" & txt_fornitore & "','" & txt_codicefornitore & "')" trovato = False If IsNull(txt_nomecomponente) Or IsNull(txt_tipologia) Or IsNull(txt_produttore) Or IsNull(txt_descrizione) Or IsNull(txt_giacenza) Or IsNull(txt_posizione) Or IsNull(txt_fornitore) Or IsNull(txt_codicefornitore) Then trovato = True MsgBox ("Alcuni campi sono vuoti!") Else Do Until recComponenti.EOF If StrComp(txt_fornitore, recComponenti![ID Fornitore]) = 0 And StrComp(txt_codicefornitore, recComponenti![Codice Fornitore]) = 0 Then trovato = True MsgBox ("Elemento già presente!") End If recComponenti.MoveNext Loop End If If trovato = False Then DoCmd.RunSQL query1 MsgBox ("Componente inserito nel Database") End If End Sub![]()
Grazie

,
Rispondi quotando
perché non so proprio che altre ipotesi fare ancora.
