Aggiungere valore in combo box

Anonimo
2020-04-21T15:17:35+00:00

Ciao a tutti e grazie del tempo,

Sto provando a scrivere codice per inserire nella tabella frmActivityStd i valori della combo box che la lega alla tabella frmActivity e con quanto sotto mi da sempre un errore.

Private Sub Activity_NotInList(NewData As String, Response As Integer)

   Dim dbsOrders As DAO.Database

   Dim rstActivity As DAO.Recordset

   Dim intAnswer As Integer

On Error GoTo ErrorHandler

   intAnswer = MsgBox("Add " & NewData & " to the list of activity?", _

      vbQuestion + vbYesNo)

   If intAnswer = vbYes Then

      ' Add Activity stored in NewData argument to the tblActivityStd table.

      Set dbsOrders = CurrentDb

      Set rstShippers = dbsOrders.OpenRecordset("tblActivityStd")

      rstShippers.AddNew

      tblActivityStd!ActivityStd = NewData

      tblActivityStd.Update

      Response = acDataErrAdded         ' Requery the combo box list.

   Else

      Response = acDataErrDisplay       ' Require the user to select

                                        ' an existing activity.

   End If

   tblActivityStd.Close

   dbsOrders.Close

   Set tblActivityStd = Nothing

   Set dbsOrders = Nothing

   Exit Sub

ErrorHandler:

   MsgBox "Error #: " & Err.Number & vbCrLf & vbCrLf & Err.Description

End Sub

Il messaggio di errore:

Grazie a tutti,

Mauro

Microsoft 365 e Office | Access | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

Risposta accettata dall'autore della domanda

domenico laurenza 9,900 Punti di reputazione Moderatore volontario
2020-04-22T13:58:18+00:00

Scusa ma non riesco ad andare sul tuo link. Puoi ripeterlo su OneDrive, grazie.

Mimmo

La risposta è stata utile?

1 persona ha trovato utile questa risposta.
0 commenti Nessun commento

Risposta accettata dall'autore della domanda

Anonimo
2020-04-22T12:18:40+00:00

Ciao,

nell'ultimo codice postato i riferimenti sono corretti:

Set rs = db.OpenRecordset("tblActivityStd", dbOpenDynaset)

            rs.AddNew

            rs!ActivityStd = NewData

            rs.Update

            rs.Close

infatti il nome del recordset è rs

invece nel tuo codice hai dei riferimenti errati:

Set dbsOrders = CurrentDb

      Set rstShippers = dbsOrders.OpenRecordset("tblActivityStd")

      rstShippers.AddNew

      tblActivityStd!ActivityStd = NewData

tblActivityStd.Update

Ricordati di utilizzare in testa al codice Option Explicit e di utilizzare Debug Compila spesso in caso di variazioni del codice.

Se continui ad avere problemi condividi uno stralcio del tuo DB privo di dati sensibili ( ad es. con OneDrive ).

Ciao Mimmo

La risposta è stata utile?

0 commenti Nessun commento

5 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2020-04-22T10:18:35+00:00

    Ciao,

    le seguenti istruzioni:

    Set rstShippers = dbsOrders.OpenRecordset("tblActivityStd")

          rstShippers.AddNew

          tblActivityStd!ActivityStd = NewData

          tblActivityStd.Update

    penso debbano essere cambiate in:

    Set rstShippers = dbsOrders.OpenRecordset("tblActivityStd")

          rstShippers.AddNew

          **** rstShippers !ActivityStd = NewData

          rstShippers .Update

    poiché il nome  delrecordset è rstShippers e non tblActivityStd

    Ciao Mimmo

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2020-04-22T06:22:06+00:00

    tblActivityStd ha un solo campo che è anche la chiave primaria e il codice dovrebbe riempirlo, ma per qualche ragione non funziona.

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2020-04-21T17:00:26+00:00

    Ciao Mauro,

    il messaggio di errore penso ti avvisa che la tabella tblActivityStd ha una relazione con la tabella tblActivity quindi nell'inserimento devi impostare anche la chiave esterna della relazione.

    Ciao Mimmo

    La risposta è stata utile?

    0 commenti Nessun commento