Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 17
  1. #1
    Utente di HTML.it L'avatar di eng
    Registrato dal
    Mar 2002
    Messaggi
    1,227

    [Access - ADO] aggiornamento campi tabella

    Preciso che non ho esperienza con Access. Uso il Access XP 2002.

    Vorrei associare una funzione al clik di un button di una maschera
    in modo tale che numeri progressivamente il campo Prot (numerico) di una tabella RegistroAcquisti . Praticamente un'UPDATE.

    Potete indicarmi il codice ?
    So che sono 6-7 righe, ma sono cosi' imbranato...

    grazie
    EnG

  2. #2
    Utente di HTML.it L'avatar di eng
    Registrato dal
    Mar 2002
    Messaggi
    1,227
    up

  3. #3
    Utente di HTML.it L'avatar di eng
    Registrato dal
    Mar 2002
    Messaggi
    1,227
    up

  4. #4
    Utente di HTML.it L'avatar di eng
    Registrato dal
    Mar 2002
    Messaggi
    1,227
    up forza!

  5. #5
    Utente di HTML.it L'avatar di Mychy
    Registrato dal
    Oct 2000
    Messaggi
    794
    Set rs = New ADODB.Recordset
    sql="select * from nometabella where nomecampo=condizioni"
    rs.Open sql,CurrentProject.Connection, adOpenDynamic, adLockOptimistic
    do while not rs.eof
    rs.nomecampo=rs.nomecampo+1
    rs.Update
    rs.movenext
    loop
    rs.Close
    Set rs = Nothing

    Prova così dovrebbe funzionare.

  6. #6
    Utente di HTML.it L'avatar di Mychy
    Registrato dal
    Oct 2000
    Messaggi
    794
    Naturalmente devi fare un riferimento alla libreria Microsoft Activex Data Objects

  7. #7
    Utente di HTML.it L'avatar di eng
    Registrato dal
    Mar 2002
    Messaggi
    1,227
    scusa Michy, ma sono proprio a terra con Access...

    il tuo esempio non riesco a comprenderlo...

    Ho provato con questo, guardando un po' i support della microsoft.

    codice:
    Public Sub Comando90_Click()
    Dim i As Integer
    Dim dbs As DAO.Database      <<<<<<<<<<<<<<<<<<<<<<
    Dim rst As DAO.Recordset
    Set dbs = CurrentDb()
    i = 1
    Set rst = dbs.OpenRecordset("RegistroAcquisti")
    Do Until rst.EOF
        With rst
            .Edit
            .Field(1) = i
            .Update
        End With
        i = i + 1
        rst.MoveNext
    Loop
    rst.Close
    End Sub
    ma usando il file .mdb cormato Access 2000 sotto Access 2002 XP mi da errore di tipo non definito alla linea marcata <<<< sopra.

    help! grazie!

  8. #8
    Utente di HTML.it L'avatar di Mychy
    Registrato dal
    Oct 2000
    Messaggi
    794
    Tu stai usando DAO (che io non ho quasi mai usato), mentre io nell'esempio ho usato ADO.

    L'errore forse è dovuto al fatto che manca il riferimento alla libreria.


    Prova il codice che ti ho postato funziona.

    Set rs = New ADODB.Recordset
    sql="select * from nometabella where nomecampo=condizioni"
    rs.Open sql,CurrentProject.Connection, adOpenDynamic, adLockOptimistic
    i=1
    do while not rs.eof
    rs.nomecampo=i
    rs.Update
    rs.movenext
    i=i+1
    loop
    rs.Close
    Set rs = Nothing

  9. #9
    Utente di HTML.it L'avatar di eng
    Registrato dal
    Mar 2002
    Messaggi
    1,227
    Originariamente inviato da Mychy
    Tu stai usando DAO (che io non ho quasi mai usato), mentre io nell'esempio ho usato ADO.

    L'errore forse è dovuto al fatto che manca il riferimento alla libreria.


    Prova il codice che ti ho postato funziona.

    Set rs = New ADODB.Recordset
    sql="select * from nometabella where nomecampo=condizioni"
    rs.Open sql,CurrentProject.Connection, adOpenDynamic, adLockOptimistic
    i=1
    do while not rs.eof
    rs.nomecampo=i
    rs.Update
    rs.movenext
    i=i+1
    loop
    rs.Close
    Set rs = Nothing
    si', dovrebbe funzionare, se non che ci ho messo un errore
    codice:
    Public Sub Comando90_Click()
    Dim i As Integer
    Set rs = New ADODB.Recordset
    sql = "select * from RegistroAcquisti"
    rs.Open sql, CurrentProject.Connection, adOpenDynamic, adLockOptimistic
    i = 1
    rs.MoveNext
    Do While Not rs.EOF
    rs.Prot = i  <<<<<<<<<
    rs.Update
    rs.MoveNext
    i = i + 1
    Loop
    rs.Close
    Set rs = Nothing
    End Sub
    Prot e' un campo numerico e il debugger mi dà 'Prorietà o metodo non supportati dall'oggetto'
    I è un integer....quindi non capisco....perché non vada...mah!

    Ti posto in PVT il link da dove downlodare ,se hai 1 minuto libero, il file mdb.

  10. #10
    Utente di HTML.it L'avatar di Mychy
    Registrato dal
    Oct 2000
    Messaggi
    794
    Public Sub Comando90_Click()
    Dim i As Integer
    Set rs = New ADODB.Recordset
    sql = "select * from RegistroAcquisti"
    rs.Open sql, CurrentProject.Connection, adOpenDynamic, adLockOptimistic
    i = 1
    rs.MoveNext <----- perchè lì?
    Do While Not rs.EOF
    rs.Prot = i <<<<<<<<<
    rs.Update
    rs.MoveNext
    i = i + 1
    Loop
    rs.Close
    Set rs = Nothing
    End Sub
    Elimina rs.MoveNext
    Ho visto solo ora che mi hai scritto in pvt ora vado a vedere il tuo link !

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.