Tutto ciò è fatto in Microsoft Access 2007 e SQL Server. Stiamo creando un modo per i nostri utenti di prendere rapidamente appunti su un cliente. Queste note rapide conterranno tag che richiederanno all'utente i dati basati su quel tag. I tag devono essere limitati a poche opzioni di selezione da cui l'utente può scegliere. I tag saranno codificati come [TAG] nel database.
Un paio di esempi:
Rimborso dell'ordine
[[OrderNumber]] - Was refunded
Quando l'utente seleziona l'esempio precedente, gli verrà chiesto di inserire un elenco degli ordini del cliente attualmente selezionato e un campo per consentire all'utente di inserire un ordine specifico. Quando l'utente sceglie l'ordine, la nota rapida sarà simile a:
[123456] - Was refunded
Nota generale
Emailed receipt for order [[OrderNumber]] to email address: [emailAddress]
Sembrerebbe:
Emailed receipt for order [123456] to email address: [email protected]
Il problema
Il problema principale è che ogni tag richiama un'azione diversa.
- Un tag del numero dell'ordine richiama una funzione che estrae il numero dell'ordine da poche colonne in una tabella ordini.
- Un tag di indirizzo email mostrerà tutti gli indirizzi email del cliente corrente o consentirà all'utente di inserire un'altra email in un campo.
La nostra soluzione proposta
Abbiamo pensato di inserire i dati in una tabella con il seguente formato:
╔════════╦══════════════╦══════════════════════╦════════════════╗
║ NoteID ║ NoteTag ║ columnReference ║ tableReference ║
╠════════╬══════════════╬══════════════════════╬════════════════╣
║ 1 ║ emailaddress ║ email address ║ emailAddTable ║
╚════════╩══════════════╩══════════════════════╩════════════════╝
Ora questa tabella può essere un modo rapido per acquisire i dati, ma sarà difficile per le chiamate alle funzioni, e molto sarà comunque gestito a livello di codice.
Domande
Che cos'è un modo semplice e pulito per richiamare determinate chiamate all'azione in un programma basato sui tag in una breve nota? Un grosso ciclo che controlla i tag in una stringa e poi chiama le funzioni specifiche?