Programmazione della GUI del database - .Net vs MS Access [closed]

3

MS Access si fà cagare molto perché A) molti neofiti usano B) la gente lo usa come back-end del database che non è una buona idea.

Mi piacerebbe vedere una discussione ragionevole sul perché potresti scegliere VB.Net su MS Access o viceversa per programmare una GUI del database (moduli e report) da utilizzare con MS SQL Server.

    
posta HK1 15.02.2011 - 00:20
fonte

6 risposte

6

Avendo fatto entrambi, posso dire un po 'di loro.

L'accesso è utile per la prototipazione rapida e sporca e la sperimentazione. C'è meno lavoro coinvolto nella creazione di un semplice database e nella connessione di alcuni moduli, rispetto al modo .NET / SqlServer. È anche accettabile, a mio avviso, per applicazioni di database molto semplici, in cui si può essere certi che il sistema sarà piccolo e non molto utilizzato. Ho seguito questa strada per un paio di piccoli progetti personali.

Alla fine opposta del dibattito c'è un database completo (ad esempio, Sql Server) accessibile tramite un'applicazione .NET (web, winforms, wpf, ecc.). Ciò richiede più lavoro per la configurazione, ma sarà più robusto e scalabile.

C'è una via di mezzo, che non ho mai fatto prima: creare un'applicazione di accesso supportata da un database Sql Server. Ottieni il database ad alta risoluzione con la relativa semplicità dei moduli e dei rapporti di Access.

In un'altra nota, è possibile prendere un database di Access esistente ed eseguirne l'upscaling su Sql Server senza troppi problemi. Ancora una volta, non qualcosa che ho fatto, ma l'opzione è lì.

Alla fine, dovresti decidere se il compromesso in termini di scalabilità vale la partenza veloce, o se la configurazione di Access è tutto ciò di cui avrai bisogno.

EDIT: un altro punto, relativo alle lingue. Se si è strongmente contrari all'utilizzo di VB in qualsiasi modo o forma, andare su .NET. In Access, si codificherà in VBA, relativo a VB, ma senza il framework .NET.

    
risposta data 15.02.2011 - 01:00
fonte
3

Vantaggio netto del punto:

  • Può utilizzare MS-Access come database e altri database. Ciò rende la soluzione meno costosa se ti interessa il costo e anche la scalabilità della soluzione.

  • Dot net funziona con molti strumenti di terze parti che ti permettono di costruire una GUI migliore rispetto a MS-Access. I componenti di terze parti sono disponibili per molti usi regolari e speciali

  • Offre un editor migliore

  • Utilizza linguaggi OO (C #, VB, ecc.) con classi .NET molto potenti - Offre una migliore gestione delle eccezioni.

  • Dati e codice sono separati

Vantaggi dell'MS-Access

  • Ha un generatore di report integrato (disponibile solo su VS Professional Edition)

  • Facile da implementare. Non richiede .NET framework (In .Net devi fare attenzione a come lo fai)

  • molte soluzioni sono già state create per questo

  • Facile codificarlo per fare e-mail e stampare etichette (non è così facile con .NET)

  • Fa un buon lavoro per semplici applicazioni in cui l'utente può gestire i dati direttamente anche senza codifica

  • Fornisce rapporti OLAP pronti all'uso

Svantaggi di MS Access:

  • Costa denaro

  • La sicurezza MS-Access non è così potente (come ho sentito - Non sono sicuro di quello).

  • Ms-Access ti costringe a lavorare con VBA - Non un linguaggio OO completo

  • Dispone solo del controllo della griglia dati di base e di altri controlli semplici. Non è possibile creare controlli personalizzati avanzati.

  • Il codice e i dati esistono insieme in un unico file

  • Potrebbe non essere facile fornire la condivisione del codice tra gli sviluppatori

  • Non è una buona scelta per i siti web di molti utenti

  • Non fornisce la ricerca full text (come in SQL Server per esempio)

  • basato su COM

risposta data 26.01.2012 - 06:00
fonte
2

Ho avuto l'opportunità di scrivere applicazioni per moduli con MS Access e scrivere applicazioni simili con C # e Winforms.

MS Access semplifica la creazione di qualcosa che funzioni immediatamente.

Winforms rende gestibile la creazione di una soluzione aziendale scalabile.

Non mescolare i due.

    
risposta data 15.02.2011 - 00:40
fonte
1

Personalmente sceglierei .net su MS Access, anche per i prototipi.

La ragione di questo è semplice. Una società per cui lavoravo per una volta ha chiesto a un mio collega di prototipare qualcosa in MS Access, con la consapevolezza che sarebbe stato aggiornato in seguito in C # / Java (la gestione stava discutendo in entrambi i casi).

Non è mai successo. La direzione ha deciso in nome della convenienza che la soluzione MS Access ha funzionato, quindi perché risolverlo? "Abbiamo un database funzionante, ora perché non puoi fare X sopra?" X in questo caso sta riparando i problemi di accesso simultaneo e vari altri kludges.

Purtroppo ho avuto la sfortuna di avere alcuni manager per i quali un database è un database, ora perché non riesci a costruirlo? Altre gemme includono "architettura di plugin", quindi "scrivi che in Java, scrive in Java, quindi lavorano insieme" ...

Come risultato, ora mi rifiuto di toccare qualsiasi materiale VBA / Macros / Access. Mai. Non sto cercando di essere imbarazzante / anti-management: è una decisione aziendale sensata. Se costruiremo un sistema di database multiutente, facciamolo sulla piattaforma giusta, fin dall'inizio, e non sprecare tempo e denaro per convincere un sistema che non è progettato per questo scopo a suonare bene.

    
risposta data 15.02.2011 - 01:26
fonte
1

Sono stato assunto qualche tempo fa in una società che utilizza Access xp con un back-end del database del server SQL e, devo dirvi, l'argomento della scalabilità è immediatamente visibile con questa applicazione.

Sebbene sia possibile configurare un modulo o un report molto rapidamente con accesso, non ti dà alcun controllo sul threading, soffoca con troppi dati da elaborare e il suo tipo di mancanza nel reparto controlli.

Quindi, a meno che non siano solo un paio di utenti inesperti che useranno l'app, ti suggerirei di evitare l'accesso a tutti i costi.

    
risposta data 11.06.2012 - 13:56
fonte
-2

Ho sviluppato applicazioni MS-Access dalla versione 1.0 e programmazione in varie versioni di Basic per 10 anni precedenti. 20 anni fa c'era una grande spinta, almeno in Canada, perché il governo acquistasse posti presso le Computer Schools. Tutti e il loro cane hanno seguito questi corsi per il sogno di grandi somme e ampie opportunità. Sfortunatamente essere un programmatore richiede un certo tipo di persona. Molte di queste persone che hanno seguito i corsi non hanno potuto hackerare il corso e / o non sono riusciti a modificarlo una volta arrivati nel mondo reale. Alcuni di essi gravitano su MS-Access. Se avessi una monetina per ogni database Access sviluppato da una di queste persone inesperte, ho dovuto revisionare. Ciò ha dato a MS-Access un brutto nome. L'accesso è pensato per tutto, no ovviamente no. Nelle mani di uno sviluppatore capace ed esperto, è potente. Lavoro principalmente presso banche e compagnie assicurative. Quando queste persone vogliono una nuova applicazione, se passano attraverso i loro dipartimenti IT, possono volerci mesi, se non anni, per ottenere qualcosa di sviluppato. Metti la stessa richiesta nelle mani di uno sviluppatore esperto di MS-Access e impiega alcuni giorni o settimane. Il motivo della differenza è A) La burocrazia del dipartimento IT e B) tutti i programmatori che hanno formato a cui non piace quello che stanno facendo, non lo fanno molto bene, ma fanno il minimo indispensabile per resistere. Fintanto che sono nella struttura abbondante di un dipartimento IT e di fogli specifici alimentati a cucchiaio, possono sopravvivere. I veri programmatori possono avvicinarsi a un cliente, raccogliere le specifiche da soli, innovare, ideare la soluzione più elegante e flessibile per qualsiasi progetto di dimensioni e poi svilupparlo da solo dall'inizio alla fine. Per lo meno, penso che MS-Access, nelle mani di uno sviluppatore esperto, abbia ancora un posto nella prototipazione di una soluzione per poi essere trasferito all'IT per la conversione. In molti casi è possibile tagliare e incollare porzioni di codice VBA in una soluzione .NET.

    
risposta data 14.09.2012 - 05:52
fonte

Leggi altre domande sui tag