Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
SQL Server 2000/2005/2008, Express, Access, MySQL, Oracle
Form connesso a query con join
mercoledì 01 agosto 2007 - 10.46
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
jacopo
Profilo
| Newbie
2
messaggi | Data Invio:
mer 1 ago 2007 - 10:46
Gentili utenti,
ho bisogno di aiuto per risolvere un problema che credo tipico dei database, ma non risco a trovare risposta su nessun libro o sito internet.
La mia è una applicazione client server basata su access. Utilizzo dei form basati su recordset ADO e il set di istruzioni tipico che uso per connettere il form è il seguente:
Dim cn As ADODB.Connection
Dim rsMain As ADODB.Recordset
Set cn = CurrentProject.AccessConnection
Set rsMain = New ADODB.Recordset
With rsMain
Set .ActiveConnection = cn
.CursorLocation = adUseClient
.Source = "exec " & QueryConnection
.LockType = adLockOptimistic
.CursorType = adOpenKeyset
.Open
End With
Set Me.Recordset = rsMain
Set Me![ThisSubForm].Form.Recordset = rsMain
Set rsMain = Nothing
Tutto bene fino a quando i record da mostrare non hanno bisogno di un join esterno. L'esempio tipico è questo:
1) una tabella che contiene dei prodotti. Ogni prodotto ha un indice contatore, un codice aziendale e una descrizione.
2) una tabella che contiene i dati dei documenti di trasposto
3) una tabella tblDDTUscitaArticoli che realizza con una relazione molti a molti, l'elenco di prodotti inviati con le bolle di trasporto che contiene i seguenti campi:
IDRiga (contatore, chiave primaria tabella)
IDPadre (l’ id del documento di trasporto)
IDCodiceParte (l’id dell’articolo spedito)
Posizione
Quantità
Come si vede la tabella tblDDTUscitaArticoli contiene solo l’id dell’articolo che per l’utente non ha nessun significato. Io gli devo mostrare codice aziendale e descrizione.
Per far questo basta creare una query di connessione con join esterni e ottengo il recordset che voglio.
IL PROBLEMA E’ CHE UN RECORDSET COSI’ FATTO NON E’ AGGIORNABILE.
Devo allora trovare un altro modo ma non so come fare. Ho provato con recordset disconnessi e updatebatch. Quando salvo le modifiche mi dice che non ha sufficienti informazioni sull’indice per poter salvare i dati.
Quando invece vado su nuovo record con i pulsanti di spostamento del form, le textbox risultano bloccate, come quando si imposta “consenti aggiunte” a NO nelle proprietà del form.
Siccome questo credo sia un caso davvero standard nella costruzione dei database, sono sicuro che esista una soluzione, ma io non l’ho trovata.
Sarò davvero grato a chiunque per l’aiuto che saprà darmi.
Buona giornata,
Jacopo
Torna su
Stanze Forum
Elenco Threads
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 !