Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 22
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    64

    [VBA&Excel]Query in excel

    Salve.

    Debbo creare in un foglio excel delle query legate ad un database Access e poi aggiornarle da codice.

    Mi sapete dire come fare?

  2. #2
    Utente di HTML.it L'avatar di vonkranz
    Registrato dal
    Sep 2001
    Messaggi
    1,387
    Puoi usare tranquillamente i recordset come si usano in VB, con le relative connessioni ecc.

    per esempio:
    codice:
       dim cnn as new ADODB.Connection
       dim rst as new ADODB.Recordset
       set cnn = New ADODB.Connection
       cnn.CursorLocation = adUseClient
       cnn.Open "PROVIDER=Microsoft.Jet.OLEdb.4.0;Data Source=[nome database];"
       rst.Open "SELECT * FROM tabella", cnn, adOpenDynamic, adLockOptimistic
    ...and I miss you...like the deserts miss the rain...

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    64
    Originariamente inviato da vonkranz
    Puoi usare tranquillamente i recordset come si usano in VB, con le relative connessioni ecc.

    per esempio:
    codice:
       dim cnn as new ADODB.Connection
       dim rst as new ADODB.Recordset
       set cnn = New ADODB.Connection
       cnn.CursorLocation = adUseClient
       cnn.Open "PROVIDER=Microsoft.Jet.OLEdb.4.0;Data Source=[nome database];"
       rst.Open "SELECT * FROM tabella", cnn, adOpenDynamic, adLockOptimistic
    grazie

    ma se il primo aggiornamento non volessi farlo da codice?
    e poi come collego il recordset ad un pezzo fisso di foglio? :master:

  4. #4
    Utente di HTML.it L'avatar di vonkranz
    Registrato dal
    Sep 2001
    Messaggi
    1,387
    Se usi Excel XP (ma penso he sotto il 2000 sia +/- uguale), devi andare in :
    "dati-importa dati esterni-nuova query su database" e seguire le istruzioni a video.
    ...and I miss you...like the deserts miss the rain...

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    64
    Originariamente inviato da vonkranz
    Se usi Excel XP (ma penso he sotto il 2000 sia +/- uguale), devi andare in :
    "dati-importa dati esterni-nuova query su database" e seguire le istruzioni a video.
    ok grazie

    e da codice? come collego un range? ma posso anche crearlo?

  6. #6
    Originariamente inviato da Libera75
    ok grazie

    e da codice? come collego un range? ma posso anche crearlo?
    codice:
    Dim cn As ADODB.Connection, rs As ADODB.Recordset, intColIndex As Integer
        Set TargetRange = TargetRange.Cells(1, 1)
        
        Set cn = New ADODB.Connection
        cn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & _
            NomeDB & ";"
        Set rs = New ADODB.Recordset
        With rs
          
             adCmdTable 
             .Open "SELECT * FROM Tabella " & _
             " WHERE [campo] = 'valore'", cn, , , adCmdText 
                    
            RS2WS rs, TargetRange         
    
            For intColIndex = 0 To rs.Fields.Count - 1 
                TargetRange.Offset(0, intColIndex).Value = rs.Fields(intColIndex).Name
            Next
           TargetRange.Offset(1, 0).CopyFromRecordset rs 
        End With
        rs.Close
        Set rs = Nothing
        cn.Close
        Set cn = Nothing
    End Sub
    -Raia Riccardo-
    Un forumello gnocco
    La vita è strana per questo bella

    non ero moderatore quando zork era un alcolizzato

  7. #7
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    64
    grazie mille, adesso provo e poi ti faccio sapere

  8. #8
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    64
    c'è un errore

    adCmdTable utilizzo non valido di property

  9. #9
    Originariamente inviato da Libera75
    c'è un errore

    adCmdTable utilizzo non valido di property
    infatti non ci vuole puoi anche cancellare quel rigo
    -Raia Riccardo-
    Un forumello gnocco
    La vita è strana per questo bella

    non ero moderatore quando zork era un alcolizzato

  10. #10
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    64
    Originariamente inviato da chisono
    infatti non ci vuole puoi anche cancellare quel rigo
    RS2WS questo a che serve e che cos'è?

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 © 2025 vBulletin Solutions, Inc. All rights reserved.