[Risolto] Query di aggiornamento in vba

di Anonimizzato23890 il
19 risposte

19 Risposte - Pagina 2

  • Allora ho risolto in un altro modo non credo sia bellissimo ma funziona,
    Dim Dbl As DAO.Database
    Dim Pe As DAO.Recordset
    Dim sqlaggList As String
    Set Dbl = CurrentDb
    sqlaggList = "SELECT Perizia From  Listino" & TempVars![CodCliente]
    Set Pe = CurrentDb.OpenRecordset(sqll, dbOpenDynaset, dbSeeChanges)
    per1 = Mid(Pe!Perizia, 1, 3)
    per2 = Mid(Pe!Perizia, 4, 2)
    
    CurrentDb.Execute "UPDATE Listino" & TempVars![CodCliente] & " SET Perizia = '" & per1 & "/" & per2 & "'"
    che ne pensate? rallenta molto l' applicazione?
  • Allora adatta la soluzione di Oregon, che era corretta anche nell'interpretazione...!
  • Buongiorno,
    ho provato ad utilizzare il codice suggeritimo da oregon modificandola con la funzione Mid
    "UPDATE Listino" & TempVars![CodCliente] & " SET Perizia = '" & Mid(Pe!Perizia, 1, 3)  & "/" &  Mid(Pe!Perizia, 4, 2) & "'"
    ma non và il debug mi da errore "oggetto necessario"
  • Devi imparare a fare DEBUG... prima di mandare in ESECUZIONE una Query ACTION... non vuoi controllare il predicato SQL che sia corretto...?
    Cosa fai la lanci e speri...?

    Metti un Debug. Print nel codice e verifica cosa trovi..., controlli la sintassi sia SQL che tipica del Field/DataType da usare...!
  • Buongiorno a tutti dopo vari esperimenti ho capito dove fosse l' errore, avevo omesso di dire ce la mia era una query Passthrough quindi il codice del sql doveva essere per l SQL SERVER quindi l ho modificato così:
    Set dbs = CurrentDb
    dbs.Connect = TempVars![SCon]
    dbs.Execute "UPDATE Listino" & TempVars![CodCliente] & " SET Perizia = SUBSTRING(Perizia,1,3)+'/'+SUBSTRING(Perizia,4,2)", dbSQLPassThroug
    
    Grazie sempre per i preziosi consigli
Devi accedere o registrarti per scrivere nel forum
19 risposte