+ Rispondi al messaggio
Pagina 1 di 2 12 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15

Errore 3061

  1. #1
    tatix non  in linea Scolaretto
    Buonasera
    ho scritto il seguente codice:
    Private Sub Comando9_Click()
    Dim DB As Database
    Dim Rs As Recordset
    Dim Rs1 As Recordset
    Dim Rs2 As Recordset
    Dim a As Variant
    Dim totale As Long
    Dim stringaSQL As String
    Dim stringa As String
    
    
    stringa = Me.Numero_bolla
    'DoCmd.Close acForm, Forms![Magazzino_lista_bolle_modifica].Name
    Set DB = CurrentDb
    
    stringaSQL = "SELECT * FROM MAGAZZINO_LISTA_BOLLE WHERE (((MAGAZZINO_LISTA_BOLLE.Numero_di_bolla)= '" & stringa & "' ));"
    Set Rs = DB.OpenRecordset(stringaSQL)
    
    Set Rs1 = DB.OpenRecordset("MAGAZZINO_ENTRATA_MERCI", DB_OPEN_DYNASET)
    Set Rs2 = DB.OpenRecordset("MAGAZZINO_ENTRATA_MERCI_DETTAGLIO", DB_OPEN_DYNASET)
    
    'Set Magazzino_entrata_merci = Screen.ActiveForm
    totale = Rs.RecordCount
    Rs.MoveFirst
    For i = 1 To totale
        Rs1.AddNew
        Rs2.AddNew
        a = Rs(1)
        Rs1(1) = a
        a = Rs(2)
        Rs1(2) = a
        a = Rs(3)
        Rs1(3) = a
        a = Rs(4)
        Rs2(1) = a
        a = Rs(5)
        Rs2(2) = a
        a = Rs(6)
        Rs2(3) = a
        Rs1.Update
        Rs2.Update
        Rs.MoveNext
    
    Next i
    Rs1.Close
    Rs2.Close
    Rs.Close
    DB.Close
    
    DoCmd.OpenForm ("Magazzino_entrata_merci")
    End Sub
    
    Il programma si ferma a

    Set Rs = DB.OpenRecordset(stringaSQL)

    e mi da il seguente messaggio

    Errore di run-time 3061
    Parametri insufficienti. Previsto 1.

    Eppure la stringa corretta, la tabella MAGAZZINO_LISTA_BOLLE esiste.

    Mi potete aiutare ?
    Grazie
    Ultima modifica di AntonioG; 17-09-2021 21:39 

  2. #2
    @tatix... una discussione con titolo

    errore

    non affatto indicativo. Usane uno pi descrittivo.

    Inoltre il campo numerico?
    ℹ️ Leggi di pi su AntonioG ...

  3. #3
    tatix non  in linea Scolaretto
    OK ora lo cambio.
    No il campo testo breve
    Non riesco a variare l'oggetto. Scusate.
    Ho letto qualcosa in merito a questo errore. Era capitato a Osvaldo Laviosa.
    Ma per me , ancora[
    troppo difficile capire quel 3D.
    Ultima modifica di AntonioG; 17-09-2021 21:40 

  4. #4
    Ti ho anche raccomandato di evitare colori particolari per evidenziare testo.

    Questa volta correggo io, da ora in poi si potrebbe chiudere il thread.

    Hai controllato con una

    Msgbox(stringasql)

    prima della riga dell'errore per controllare il contenuto effettivo?
    ℹ️ Leggi di pi su AntonioG ...

  5. #5
    Sgrubak non  in linea Scribacchino
    Metti un punto di interruzione sulla riga che da errore, quando l'esecuzione si ferma, nella finestra immediata scrivi
    ?stringaSQL
    
    poi premi Invio.

    La query ben formata dopo il concatenamento?

  6. #6
    tatix non  in linea Scolaretto
    Si.
    Per togliere ogni dubbio ho scritto un valore dentro la stringa ma nulla. Scrivo la riga di codice

    stringaSQL = "SELECT * FROM MAGAZZINO_LISTA_BOLLE WHERE (((MAGAZZINO_LISTA_BOLLE.Numero_di_bolla) = '" & "BOLLA 2" & "'));"
    
    BOLLA 2 un codice che presente nel campo Numero_di_bolla nella tabella MAGAZZINO_LISTA_BOLLE in due record,
    quindi mi dovrebbe restituire una query con due record
    Ultima modifica di tatix; 17-09-2021 22:08 

  7. #7
    L'avatar di @Alex
    @Alex non  in linea Moderatore Globale
    Scusa ma non sarebbe meglio spiegassi anche cosa vuoi ottenere prima di tutto...?
    Spesso chi non ha buone conoscenze si lascia prendere la mano dallo scrivere codice... e non sempre la soluzione migliore... e francamente a me pare tu sia proprio una di queste...
    Non bastano 2 query INSERT INTO....?

    Il senso poindi fare quello che hai fatto... andrebbe spiegato.
    ℹ️ Leggi di pi su @Alex ...

  8. #8
    tatix non  in linea Scolaretto
    Lo stesso codice l'ho usato almeno quattro volte nel database e funziona.
    Voglio solo selezionare i record della tabella con la condizione scritta.
    Per il momento ho risolto sostituendo l'apertura del data base con
    RS=db.OpenRecordset("MAGAZZINO_LISTA_BOLLE",DB_OPEN_DYNASET)
    
    e scansionando tutta la tabella.
    Ma il mio quesito era per cercare di capire perch in altre parti del codice funziona e' in questa no.

  9. #9
    L'avatar di @Alex
    @Alex non  in linea Moderatore Globale
    Se la risposta "il codice funziona" direi che abbiamo chiuso l'argomento.
    Tuttavia le cose si possono fare in modo che funzionino oppure si possono fare bene, quello di certo non funzionalmente fatto bene.
    ℹ️ Leggi di pi su @Alex ...

  10. #10
    In ogni caso se hai un errore vuol dire che qualcosa sbagliato e non te ne rendi conto, magari il nome del campo. E comunque elimina tutte quelle parentesi inutili
    ℹ️ Leggi di pi su AntonioG ...

+ Rispondi al messaggio
Pagina 1 di 2 12 ultimoultimo

Potrebbero interessarti anche ...

  1. errore di run time 3061 e errore data (medesimo codice)
    Da tolya90 nel forum Microsoft Access
    Risposte: 4
    Ultimo Post: 07-11-2016, 15:04
  2. Risposte: 5
    Ultimo Post: 13-07-2012, 08:25
  3. Risposte: 3
    Ultimo Post: 10-12-2011, 09:39
  4. Errore runtime 3043 - errore di rete o disco
    Da h0m3r nel forum Microsoft Word
    Risposte: 5
    Ultimo Post: 04-02-2011, 21:15
  5. Errore di compilazione: errore di caricamento dll
    Da nogero nel forum Microsoft Word
    Risposte: 9
    Ultimo Post: 25-11-2009, 20:11