Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    22

    [VB2008] Connessione DB Access 2007

    Ho un piccolo problemino... scusate prima di tutto per la mia scarsa conoscenza del Visual Basic...

    In poche parole ho creato un database con Access 2007. Seguendo il Wizard di VB2008 ho creato la connessione e in un primo momento sembrava funzionare correttamente in quanto mi scorreva tutti i record presenti in una delle tabelle del DB.

    Il problema è che quando vado ad aggiungere un Record succede che il mio database non viene aggiornato ed invece VB sembra memorizzarlo da qualche parte diversa dal database...

    Suggerimenti?

    Grazie.

  2. #2
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Scusa, ma ti dico subito che i Wizard sono una cavolata immane.
    Si ripete il solito giochetto di Microsoft che fece all'epoca di Visual Basic 3 con il Data Control (in DAO) poi proseguito con l'ADODC in ADO).

    Sarebbe meglio iniziare subito studiano per tutto da codice, tanto prima o poi dovrai rifare tutto perchè ti accorgerai dei limiti dei wizard.


    Comunque, prova così:

    Su Esplora soluzioni:
    clic sul nome del tuo database

    Poi vai nella finestra Proprietà (sotto) e selezioni la proprietà Copia nella directory di output, ed impostala su Non copiare .

    Oddio, spero di averti indicato bene perchè non uso i wizard (s'era capito eh?) quindi potrei aver sbagliato qualcosa.

    Ma se mi dai retta, lasci perdere i wizard.


  3. #3
    Prova cosi,pulsante destro sul database di origine,su Origine Dati e poi

    Copia se più recente

  4. #4
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Originariamente inviato da nikkysixx
    Prova cosi,pulsante destro sul database di origine,su Origine Dati e poi

    Copia se più recente
    Sicuro, sicuro?
    Pensaci su...


  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    22
    Originariamente inviato da gibra
    Scusa, ma ti dico subito che i Wizard sono una cavolata immane.
    Si ripete il solito giochetto di Microsoft che fece all'epoca di Visual Basic 3 con il Data Control (in DAO) poi proseguito con l'ADODC in ADO).

    Sarebbe meglio iniziare subito studiano per tutto da codice, tanto prima o poi dovrai rifare tutto perchè ti accorgerai dei limiti dei wizard.


    Comunque, prova così:

    Su Esplora soluzioni:
    clic sul nome del tuo database

    Poi vai nella finestra Proprietà (sotto) e selezioni la proprietà Copia nella directory di output, ed impostala su Non copiare .

    Oddio, spero di averti indicato bene perchè non uso i wizard (s'era capito eh?) quindi potrei aver sbagliato qualcosa.

    Ma se mi dai retta, lasci perdere i wizard.

    Facendo così non mi salva nessun dato ne in VB ne in Access xD

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    22
    Uff.. continuo a non riuscire ad aggiornare il database originale tramite VB...
    Sapete consigliarmi un tutorial per fare la connessione a mano e non con il Wizard? Grazie =)

  7. #7

  8. #8
    @gibra:hai ragione

    Comunque in tutto cio'nessuno è ancora riuscito a spiegare perchè non funzioni l aggiornamento dei dati col wizard,e solo con access,visto che con sql server funziona perfettamente

  9. #9
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    22
    ho fatto caso che VB si crea una copia del database in <path>/MyProjects/<nomeprogetto>/bin/debug/

    e in quella copia vengono effettuate tutte le modifiche e inserimenti.

  10. #10
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Originariamente inviato da nikkysixx
    @gibra:hai ragione

    Comunque in tutto cio'nessuno è ancora riuscito a spiegare perchè non funzioni l aggiornamento dei dati col wizard,e solo con access,visto che con sql server funziona perfettamente
    La spiegazione l'ho scritta in un post precedente: ovvero i wizard sono una emerita cavolata.
    Sembrano utili, invece creano solo problemi e pongono grossi limiti.

    Il brutto è che uno se ne accorge solo dopo che li usa, quando è arrivato il momento di 'fare sul serio' e chiedere all'applicazione caratteristiche un po' più avanzate che i wizard non dispongono. A quel punto, si deve rifare tutto.

    Insomma, si ripete la stessa storia iniziata già dai tempi preistorici del VB3 fino al VB6: Data Control (DAO), poi ADODC (ADO), e tutta la serie di controlli Data<qualcosa> che non servono assolutamente a niente, anzi hanno pure dei bug!
    Però danno l'impressione a chi non conosce ancora il linguaggio di poter riuscire a creare applicazioni database senza scrivere codice: aggiungi questo, trascina quello, e oplà!
    In breve, Microsoft l'ha sempre usato come specchietto per le allodole.

    Ricordo al tour di presentazione di VS2005 (tenuto da Microsoft a Bologna) di aver assistito alla dimostrazione di queste 'fantastiche' caratteristiche, ma tutti i programmatori presenti all'evento con cui ho parlato erano concordi con me che questo metodo non si usa mai nelle applicazioni reali, ma solo per 'presentare' un proptotipo di un programma ad un cliente.


    Se leggi ADO.NET di David Sceppa alla fine anche l'autore afferma la stessa cosa.

    Lo dimostra proprio il fatto che, come hai fatto notare tu, con SQL Server non succede, con Access sì, perchè il wizard è programmato per includere nella cartella Bin o Release i file usati dall'applicazione quindi non solo il database Access. Ma lo fa, appunto, arbitrariamente ed erroneamente dato che questo crea sempre problemi.
    Quasi che il database (e altri file che vanno continuamente aggiornati) andasse poi installato nella cartella dell'applicazione, cosa che oggi (da Vista in poi) NON è più possibile fare perchè orami è str-risaputo che nella cartella C:\Programmi non si hanno più i permessi di scrittura, quindi l'applicazione NON FUNZIONERA' più, diversamente da quanto avveniva con Windows XP.

    Il Wizard (o per meglio dire i programmatori di Microsoft) hanno tralasciato questo 'piccolo' dettaglio nei confronti di tutti i file ad esclusione, logicamente, di SQL Server perchè sanno che un database SQL SERVER non può essere copiato come un qualsiasi altro file (anche se è la versione SQL EXPRESS) perchè dovrebbe essere prima scollegato, poi copiato ed infine ricollegato.



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.