Aiuto! Database ACCESS 2010 compatibile WEB - Diversi problemi

venerdì 06 febbraio 2015 - 13.28
Tag Elenco Tags  Access (.mdb)

LucaD Profilo | Newbie

Salve a tutti!
Mi sono iscritto ora per chiedervi aiuto perchè sono un bel pò incasinato. Scusate se sarò un pò lungo ma non posso farne a meno.

Sto facendo per il mio ufficio (lavoro in pubblica amministrazione) un programma per semplificare la compilazione di alcuni documenti ricorrenti collegandoli con Infopath. Sono informatico, sebbene sia da diverso tempo che non programmo più, ma non ho mai utilizzato l'access finora. Mi sto scontrando con diversi problemi ai quali non riesco a trovare una soluzione per un motivo ben preciso: prevedendo la possibilità che in futuro possa creare un server sharepoint dove mettere il programma che sto facendo per condividerlo in intranet ho creato un database ACCESS con compatibilità WEB. in modo che per ora la uso in locale e quando avrò tempo la installerò sul server (tanto l'amministrazione ha già una copia di tutto ciò che mi serve, sperando che sharepoint foundation sia sufficiente ai miei scopi).
Insomma ogni problema che trovo su internet viene proposta la possibilità di usare il VBA (cosa non possibile con compatibilità WEB) o altre soluzioni che non mi permettono di usare le maschere, le query e le tabelle compatibili web. Ora vi illustro un pò di problemi che ho.. e calcolate che io non ho mai visto Access fino all'altro ieri e quindi faccio difficoltà a fare qualsiasi cosa.. benchè sia andato parecchio avanti con il programma..
Non vi sto a spiegare nel dettaglio cosa fa il programma anche per una questione di delicatezza nell'argomento.. vi dirò giusto le cose strettamente necessarie ma tanto per i problemi che ho è sufficiente.

1° Problema: Relazione Molti a molti.
Ho due tabelle:
TB_Procedimento_penale: ID_proc, data_avvio, protocollo, titolo
TB_referente: ID_ref, nome, cognome, qualifica.
Risulta ovvia la relazione m:n dato che ogni procedimento ha almeno due referenti e ogni referente può avere infiniti procedimenti attivi
La relazione l'ho implementata con la terza tabella: TB_rel_proc_ref che ha ID, ID_proc,ID_ref.
Ora come inserisco un nuovo procedimento?
Su internet ho trovato tante risposte e tanti tutorial ma usano tutti la creazione guidata e la "Maschera struttura" che io invece con la compatibilità WEB non posso usare.
Ovviamente volevo usare la sottomaschera ma non riesco assolutamente a capire come crearla....

2° Problema:
quando vado ad inserire un nuovo referente (ad esempio) sono riuscito a far aprire una maschera con i campi vuoti... il problema è che come li compilo essi vanno a caricarsi sulla tabella... invece io voglio che non vengano inseriti finchè non premo il comando con all'interno la macro "SalvaRecord". Come si fa a fare una protezione dei dati senza usare il VBA?

Per ora basta... riuscire a risolvere questi problemi è già tanto. poi appena ne avrò altri scriverò in questo thread senza aprirne altri.

Grazie anticipatamente per l'aiuto

alx_81 Profilo | Guru

>Salve a tutti!
Ciao e benvenuto su dotnethell.it!

>Insomma ogni problema che trovo su internet viene proposta la
>possibilità di usare il VBA (cosa non possibile con compatibilità
>WEB) o altre soluzioni che non mi permettono di usare le maschere,
>le query e le tabelle compatibili web.
Access non è proprio fatto per il web, personalmente non lo sceglierei nemmeno come soluzione.
Non hai pensato ad un'istanza di SQL Server Express? Alla fine, se devi fare solo comandi e utilizzare un database che ti servirà in rete, credo sia la scelta migliore (o un equivalente come mySQL o altri prodotti free).
Certo, dovrai disegnarti le pagine, ma per il futuro sei un po' più pronto..

>1° Problema: Relazione Molti a molti.
>Ora come inserisco un nuovo procedimento?
Dovrai creare l'insieme di statement SQL da mandare al database, nella fattispecie dovrai:
- creare la INSERT per la prima tabella (Procedimenti)
- creare la INSERT per l'altra tabella in relazione
- creare la INSERT per la tabellina che le pone in M:N

Il tutto sotto transazione unica, per fare in modo di fare ROLLBACK in caso di errori e lasciare consistente la tua relazione (non vorrai avere solo dati non relazionati in caso di errore immagino).

>Su internet ho trovato tante risposte e tanti tutorial ma usano
>tutti la creazione guidata e la "Maschera struttura" che io invece
>con la compatibilità WEB non posso usare.
Se utilizzi la generazione delle web page in access, dovrai creare delle query e lanciarle dalla tua web page. Però, sinceramente non l'ho mai fatto in vita mia.

>
>2° Problema:
>quando vado ad inserire un nuovo referente (ad esempio) sono
>riuscito a far aprire una maschera con i campi vuoti... il problema
>è che come li compilo essi vanno a caricarsi sulla tabella...
>invece io voglio che non vengano inseriti finchè non premo il
>comando con all'interno la macro "SalvaRecord". Come si fa a
>fare una protezione dei dati senza usare il VBA?
>Per ora basta... riuscire a risolvere questi problemi è già tanto.
>poi appena ne avrò altri scriverò in questo thread senza aprirne altri.
Per il secondo problema non so proprio come muovermi.
Ti ho risposto perchè temo che non ci siano tante persone che abbiano implementato questo tipo di soluzione. Ma non ho esperienza in merito.
Se vuoi provare a creare un progetto di esempio e a condividerlo, questo può aiutarci di più a darti una risposta più concreta.

>Grazie anticipatamente per l'aiuto
di nulla!
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://blogs.dotnethell.it/suxstellino
http://suxstellino.wordpress.com
http://mvp.microsoft.com/en-us/mvp/Alessandro%20Alpi-4014222

LucaD Profilo | Newbie

Intanto grazie per la risposta.
Grazie alla fine sono riuscito a fare quello che avevo in mente...

alx_81 Profilo | Guru

>Intanto grazie per la risposta.
>Grazie alla fine sono riuscito a fare quello che avevo in mente...
se puoi, giusto per essere di aiuto a chi ha avuto simili problemi, posta la tua soluzione.
Grazie!

Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://blogs.dotnethell.it/suxstellino
http://suxstellino.wordpress.com
http://mvp.microsoft.com/en-us/mvp/Alessandro%20Alpi-4014222

LucaD Profilo | Newbie

Dunque il problema che ho risolto è esclusivamente il primo... il secondo l'ho quasi accantonato... penso che me lo farò andare bene
La difficoltà è che come ho detto sto scrivendo un database condisivibile su web tramite sharepoint con access service.
Cosa significa? eccolo spiegato qui: https://support.office.microsoft.com/it-it/article/Creare-un-database-da-condividere-sul-Web-cca08e35-8e51-45ce-9269-8942b0deab26
Questo oltre ad essere una scelta discutibile perchè poco utilizzata nel mondo access rende anche la progettazione un pò più difficile.
Nell'articolo che ho linkato è presente uno schema che spiega le differenze tra un Access Desktop e un Access Web... tra le più importanti è che in access Web non è possibile usare il VBA, le creazioni guidate, e le strutture e purtroppo non è semplice neanche inserire codice Sql a mano. Cioè manca metà della bellezza di access.. bisogna rimboccarsi le maniche e fare tutto a mano.
Gestire una relazione M:N con una tabella multicampo è abbastanza complicatuccio... per fortuna access in questo viene in aiuto.
ho trovato questo video su youtube che spiega bene come creare una maschera di inserimento e modifica di campi multivalore: http://youtu.be/4eSbFsUHUxs
il trucco sta nel trovare e settare accuratamente i campi Master e secondario.
La difficoltà che avevo è che non esistono procedure guidate sul Access per Web. quindi ho dovuto fare tutto a mano.
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5