connessione Access con VB



  • connessione Access con VB
    di fighter83 data: 31/10/2013 14:35:12

    Ciao a tutti,
    mi è stato assegnato il compito di sviluppare un tool che gestisca le attività/test aziendali.
    Pensavo di creare un DB in Access dove poter memorizzare i dati immessi tramite interfacce utente create in VB...ciò è possibile oppure posso sviluppare il tutto in Access mediante le maschere (ma a quel punto devo creare il codice in vb o sbaglio)? E poi, come faccio a connettere il db access con VB?
    Ho cercato di creare il codice, secondo voi è corretto?

    Grazie in anticipo
    Giuseppe
     
    Imports System.Data.OleDb
    Imports System.Windows.Forms
    
    Public Class Form2
    
        Dim PercorsoDB As String = "path del database"
        Dim ConnString As String = "Provider = Microsoft.Jet.OLEDB.4.0;" & "Data Source = " & PercorsoDB
        Dim cn As New OleDbConnection(ConnString)
    
        'insert into ATTIVITA' (Tipo, Descrizione, etc.) values('','', etc.);
        'insert into GRUPPO (Nome) values('');
    
        Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Salva.Click
            Dim sql As String sql = " UPDATE Gruppo as G, Attività as A SET G.Nome= '' and A.Tipo='' and    A.Descrizione='' and A.Stato_attività='' A.Data_Inizio='' and A.Data_Fine='' and A.Tecnico_Intervenuto='' and A.Note='' "
            Dim cmd As New OleDbCommand(sql, cn)
            Dim dr As OleDbDataReader = cmd.ExecuteReader
            cmd.ExecuteNonQuery()
            dr.Close()
        End Sub
    
        Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Indietro.Click
            Form1.Show()
            Me.Hide()
        End Sub
    
    End Class



  • di patel data: 01/11/2013 06:32:28

    VBA non è una prerogativa di Excel, ma di MSOffice, quindi ti conviene usare soltanto Access che però non conosco e quindi non ti posso dare consigli





  • di paolomath data: 01/11/2013 22:50:22

    Ciao,

    prima di darti suggerimenti sul codice è meglio chiarire quello che vuoi fare.

    In generale (dipende anche dal numero di dati) se vuoi lavorare con VB puoi interfacciarti con dei file di testo senza scomodare access. In pratica hai delle tabelle in formato txt. Io almeno preferisco fare così: dai all'utilizzatore un file eseguibile e un po' di file di testo senza forzarlo ad utilizzare Access.

    Se vuoi utilizzare Access allora ti consiglio di sviluppare tutto li: tabelle e maschere (form) ed eventualmente anche report di stampa (dipende da quello che vuoi fare). In Access, come detto, è presente l'ambiente VBA in cui programmare. Puoi farci tutto. , senza passare da VB.

    Bye.



  • di Vecchio Frac data: 04/11/2013 11:26:07

    Discussione doppia.
    Per favore evitiamo di duplicare le discussioni altrimenti ci rincorriamo con le risposte.





  • di fighter83 data: 04/11/2013 14:57:32

    Si, hai ragione Vecchio Frac...scusami tanto, ma sono nuovo e non sapevo dove poter indicare il mio problema.


  • connessione Access con VB
    di fighter83 data: 31/10/2013 15:37:45

    Ciao a tutti,
    mi è stato assegnato il compito di sviluppare un tool che gestisca le attività/test aziendali.
    Pensavo di creare un DB in Access dove poter memorizzare i dati immessi tramite interfacce utente create in VB...corretto???
    Inoltre, come faccio a connettere il db access con VB?
    Ho cercato di creare il codice, secondo voi è corretto?

    Grazie in anticipo
    Giuseppe


     
    Imports System.Data.OleDb
    Imports System.Windows.Forms
    
    Public Class Form2
    
        Dim PercorsoDB As String = "path del database"
        Dim ConnString As String = "Provider = Microsoft.Jet.OLEDB.4.0;" & "Data Source = " & PercorsoDB
        Dim cn As New OleDbConnection(ConnString)
    
        'insert into ATTIVITA' (Tipo, Descrizione, etc.) values('','', etc.);
        'insert into GRUPPO (Nome) values('');
    
        Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Salva.Click
            Dim sql As String sql = " UPDATE Gruppo as G, Attività as A SET G.Nome= '' and A.Tipo='' and    A.Descrizione='' and A.Stato_attività='' A.Data_Inizio='' and A.Data_Fine='' and A.Tecnico_Intervenuto='' and A.Note='' "
            Dim cmd As New OleDbCommand(sql, cn)
            Dim dr As OleDbDataReader = cmd.ExecuteReader
            cmd.ExecuteNonQuery()
            dr.Close()
        End Sub
    
        Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Indietro.Click
            Menu_Principale.Show()
            Me.Hide()
        End Sub
    
    End Class



  • di Vecchio Frac data: 04/11/2013 10:48:50

    cit. "il compito di sviluppare un tool che gestisca le attività/test aziendali. "
    ---> Auguri allora ^_^

    cit. "Pensavo di creare un DB in Access dove poter memorizzare i dati immessi tramite interfacce utente create in VB"
    ---> Se usi un mdb come semplice database e non anche come interfaccia utente, dipendendo anche dalla mole di dati, io sceglierei un database più robusto (per restare in ambito Microsoft, MySQL anche se ci sono opinioni che lo disprezzano). Ma se puoi usare Access, perchè devi interfacciarlo a VB? Puoi fare tutto dentro Access, frontend e backend, tenendo separati i file per ovvia manutenzione, e avere un ambiente unico in cui programmare e gestire i dati (senza mediare con VB che, problema successivo, deve comunque aprire un canale apposito per colloquiarci).

    cit. "Inoltre, come faccio a connettere il db access con VB? "
    ---> Un motore SQL come DAO (incluso in Access) o ADO (che va referenziato). Ma il discorso vale per ogni altro database immaginabile. VB è soltanto un gestore, che deve parlare la lingua del db cui si relaziona.
    Tu stesso nel codice che proponi utilizzi SQL e DAO quindi non dimostri problemi nel trattarlo ^_^

    cit. "secondo voi è corretto? "
    ---> Impossibile risponderti. Prova e vedi i risultati :)

    Concludo:
    se hai Access, usa Access. Più semplice e pulito.
    Se conosci meglio VB, usa un db diverso. Quando hai la connection string sei a posto, ti basta solo imparare il dialetto sql corrispondente.






  • di fighter83 data: 04/11/2013 14:54:57

    Ciao Vecchio Frac,
    innanzitutto grazie per i consigli!!!
    Volevo specificare che si tratta di un tool in cui memorizzare settimanalmente le attività svolte presso i clienti.
    CIT. "Ma se puoi usare Access, perchè devi interfacciarlo a VB? Puoi fare tutto dentro Access, frontend e backend, tenendo separati i file per ovvia manutenzione, e avere un ambiente unico in cui programmare e gestire i dati (senza mediare con VB che, problema successivo, deve comunque aprire un canale apposito per colloquiarci)."
    Dici che mi basta solo utilizzare Access per implementare un sistema del genere, senza utilizzare VB?



  • di Vecchio Frac data: 04/11/2013 15:13:48

    Io penso di sì.
    Tipicamente, è l'utilizzo per cui è nato :)
    Poi dipende anche dai costi di licenza.
    Se hai già a disposizione l'intera suite, inutile secondo me lambiccarsi il cervello per costruire in VB pure l'interfaccia, che Access espone (certo, minima e senza eccessivi fronzoli, non aspettarti fantascienza, ma sicuramente qualcosa di carino e, soprattutto, funzionale, lo tiri su).
    Se poi già smanetti con VB ti trovi anche la strada aperta (occhio però che VB non è VBA, e soprattutto VB.Net è diverso da VBA).





  • di Vecchio Frac data: 04/11/2013 15:17:35

    Anzi paolomath è stato più preciso di me nel risponderti nell'altra discussione uguale a questa.
    Quindi alla fine vedi che le opinioni concordano.
    Sei in Access, fai tutto in Access.