| |
23-11-2008, 12.13.02
|
#1 | | Sincronizzazione fra form separate con due chiavi primarie e apertura 2^ form da pulsante di comando Access XP /2003
Ciao a tutti e buona domenica
Problema:
La sincronizzazione che vorrei fare è fra la form denominata "f1"
(collegata alla tabella denominata "Tab1" dove vengono scaricati i dati di
base) e "f2" collegata alla Tab2 dove dovrebbero essere scaricati i dati
inseriti nei vari record correlati. La correlazione che dovrei fare,
diversamente da quella in esempio che ha una sola chiave primaria, ha 2
chiavi primarie che sono: NrProgressivo e DataNrProgressivo. Come
effettuare la sincronizzazione con due chiavi primarie ?
Il codice d'esempio funziona benissimo e mi pare di averlo scaricato dal
sito comune, ma il problema è che quando si apre la prima maschera "f1", in
automatico apre anche la seconda form "f2" per la sincronizzazione, cosa che
non interessa, in quanto vorrei poter aprire a piacimento la "f2" con un
pulsante di comando, solo quando è necessario correlare record da inserire.
Ho provato a modificare il seguente codice creando un pulsante di comando,
lasciando comunque su Current della form il codice di sincronizzazione,
purtroppo nonostante i diversi tentativi non sono riuscito a risolvere.
---------------------- codice inserito in form
"f1" -----------------------------------
Option Compare Database
Private Sub Form_Current()
On Error GoTo Err_Form_Current
' Se la maschera f2 è già aperta, visualizza i prodotti del fornitore
selezionato.
Dim strNomeDoc As String
Dim strCriteriCollegamento As String
strNomeDoc = "f2"
strCriteriCollegamento = "IDPrincTab2 = Forms!f1!IDPrincTab1"
'[IDFornitore] = Forms![Fornitori]![IDFornitore]"
If IsNull(Me![IDPrincTab1]) Then
Exit Sub
ElseIf Caricata("f1") Then
DoCmd.OpenForm strNomeDoc, , , strCriteriCollegamento
End If
Esci_Form_Current:
Exit Sub
Err_Form_Current:
MsgBox Err.Description
Resume Esci_Form_Current
End Sub
---------------------- codice inserito in form
"f2" -----------------------------------
Option Compare Database
Private Sub Form_BeforeUpdate(Cancel As Integer)
Me.IDPrincTab2.Value = Forms!f1!IDPrincTab1
End Sub
Dim strCond As String
strCond = "Forms!f2!IDPrincTab2 = Forms!f1!IDPrincTab1"
If IsLoaded([f2]) Then
Me.Forms![f2].FilterOn = True
Me.Forms![f2].Filter = strCond
End If
End Sub
---------------------- codice inserito in form "f2" nella proprietà
filtro-----------------------------------
IDPrincTab2 = Forms!f1!IDPrincTab1
----------- fine codice ---------------------
Mille grazie, Bruno | |
| | |  Today
| | | Advertising Google Adsense | | Se non vuoi leggere la pubblicità e diventa membro di Nntp.it | | | Sponsored Links | |
23-11-2008, 13.29.59
|
#2 | | Re: Sincronizzazione fra form separate con due chiavi primarie e apertura 2^ form da pulsante di comando
"Bruno - S95" <muspir* virgilio.it> ha scritto nel messaggio
news:49292caa$0$1093$4fafbaef*reader1.news.tin.it. ..
> Access XP /2003
>
> Ciao a tutti e buona domenica
>
> Problema:
>
> La sincronizzazione che vorrei fare è fra la form denominata "f1"
> (collegata alla tabella denominata "Tab1" dove vengono scaricati i dati di
> base) e "f2" collegata alla Tab2 dove dovrebbero essere scaricati i dati
> inseriti nei vari record correlati. La correlazione che dovrei fare,
> diversamente da quella in esempio che ha una sola chiave primaria, ha 2
> chiavi primarie che sono: NrProgressivo e DataNrProgressivo. Come
> effettuare la sincronizzazione con due chiavi primarie ?
> Il codice d'esempio funziona benissimo e mi pare di averlo scaricato dal
> sito comune, ma il problema è che quando si apre la prima maschera "f1",
> in automatico apre anche la seconda form "f2" per la sincronizzazione,
> cosa che non interessa, in quanto vorrei poter aprire a piacimento la "f2"
> con un pulsante di comando, solo quando è necessario correlare record da
> inserire.
> Ho provato a modificare il seguente codice creando un pulsante di comando,
> lasciando comunque su Current della form il codice di sincronizzazione,
> purtroppo nonostante i diversi tentativi non sono riuscito a risolvere.
[CUT]
Ho scordato di menzionare che alla form principale dovranno essere
sincronizzare più maschere ove verranno inseriti dati diversi collegati alle
due chiavi primarie della form principale.
Grazie
Bruno | |
| | |
23-11-2008, 18.24.02
|
#3 | | Re: Sincronizzazione fra form separate con due chiavi primarie e apertura 2^ form da pulsante di comando
[CUT]
Per maggiore chiarezza ho cambiato i nomi dei 2 campi chiave primarie. Con
il seguente codice pare che funsioni. Imputa sia il "NrProgrTab1" in
"Forms!f1!NrProgrTab2" sia la data "DataNrProgrTab1" in
"Forms!f1!DataNrProgrTab2"., l'unica che mi appare strano è che non riesco a
far accettare il filtro nella proprietà della form "f2" come segue:
NrProgrTab2 = Forms!f1!NrProgrTab1 And DataNrProgrTab2 =
Forms!f1!DataNrProgrTab1, come anche nella "strCriteriCollegamento = " della
form "f1" e nella "strCond = " della form "f2". Preciso che per unire le
stringhe ho utilizzato si And, sia & che +, avendo solo pernacchie come
risposte. Se non ho creato troppa confusione, potete aiutarmi a capire.
Grazie Ancora da Bruno
---------------------- codice inserito in form
"f1" -----------------------------------
Option Compare Database
Private Sub Form_Current()
On Error GoTo Err_Form_Current
' Se la maschera f2 è già aperta, visualizza i prodotti del fornitore
selezionato.
Dim strNomeDoc As String
Dim strCriteriCollegamento As String
strNomeDoc = "f2"
strCriteriCollegamento = "NrProgrTab2 = Forms!f1!NrProgrTab1"
If IsNull(Me![NrProgrTab1]) Then
Exit Sub
ElseIf Caricata("f1") Then
'La seguente stringa apre la form in foglio dati
DoCmd.OpenForm strNomeDoc, acFormDS, , strCriteriCollegamento
'La seguente stringa apre la form come maschera singola
'DoCmd.OpenForm strNomeDoc, , , strCriteriCollegamento
End If
Esci_Form_Current:
Exit Sub
Err_Form_Current:
MsgBox Err.Description
Resume Esci_Form_Current
End Sub
---------------------- codice inserito in form
"f2" -----------------------------------
Option Compare Database
Private Sub Form_BeforeUpdate(Cancel As Integer)
Me.NrProgrTab2.Value = Forms!f1!NrProgrTab1
Me.DataNrProgrTab2.Value = Forms!f1!DataNrProgrTab1
End Sub
Private Sub Form_Current()
Dim strCond As String
strCond = "Forms!f2!NrProgrTab2 = Forms!f1!DataNrProgrTab1"
' Use the IsLoaded function from the Northwind
' sample database to check whether the Products
' form is open, then set the properties.
If IsLoaded([f2]) Then
Me.Forms![f2].FilterOn = True
Me.Forms![f2].Filter = strCond
End If
End Sub
---------- codice inserito in form "f2" nella proprietà
filtro-----------------
NrProgrTab2 = Forms!f1!NrProgrTab1
----------- fine codice ---------------------
Riciao da Bruno | |
| | |
23-11-2008, 22.36.17
|
#4 | | Re: Sincronizzazione fra form separate con due chiavi primarie e apertura 2^ form da pulsante di comando [CUT]
Negativo, non funzia. Non riesco a far funzionare le forms aprendo la form
da sincronizzare con un pulsante. I record non cambiano se mi sposto su
altro record della form principale,
èE' una giornata intera che ci provo. Aiuto!!!
Ciao, Bruno | |
| | |
23-11-2008, 22.44.14
|
#5 | | Re: Sincronizzazione fra form separate con due chiavi primarie eapertura 2^ form da pulsante di comando Bruno - S95 ha scritto:
> Access XP /2003
>
> Ciao a tutti e buona domenica
>
> Problema:
>
> La sincronizzazione che vorrei fare è fra la form denominata "f1"
> (collegata alla tabella denominata "Tab1" dove vengono scaricati i dati di
> base) e "f2" collegata alla Tab2 dove dovrebbero essere scaricati i dati
> inseriti nei vari record correlati. La correlazione che dovrei fare,
> diversamente da quella in esempio che ha una sola chiave primaria, ha 2
> chiavi primarie che sono: NrProgressivo e DataNrProgressivo. Come
> effettuare la sincronizzazione con due chiavi primarie ?
Due chiavi primarie non esistono.
Cosa intendi una chiave primaria con due colonne?
> Il codice d'esempio funziona benissimo e mi pare di averlo scaricato dal
> sito comune, ma il problema è che quando si apre la prima maschera "f1", in
Ok. Personalmente pero' non conosco molto il software che sta sul sito
Lascia stare cio che fai.
Cosa vuoi fare?
--
ac | |
| | |
23-11-2008, 23.17.38
|
#6 | | Re: Sincronizzazione fra form separate con due chiavi primarie e apertura 2^ form da pulsante di comando
"Alessandro Cara" <alex*ay-1asistemi.it> ha scritto nel messaggio
news:BgjWk.36225$8%.19915*tornado.fastwebnet.it...
> Bruno - S95 ha scritto:
>> Access XP /2003
>>
>> Ciao a tutti e buona domenica
>>
>> Problema:
>>
>> La sincronizzazione che vorrei fare è fra la form denominata "f1"
>> (collegata alla tabella denominata "Tab1" dove vengono scaricati i dati
>> di base) e "f2" collegata alla Tab2 dove dovrebbero essere scaricati i
>> dati inseriti nei vari record correlati. La correlazione che dovrei fare,
>> diversamente da quella in esempio che ha una sola chiave primaria, ha 2
>> chiavi primarie che sono: NrProgressivo e DataNrProgressivo. Come
>> effettuare la sincronizzazione con due chiavi primarie ?
> Due chiavi primarie non esistono.
> Cosa intendi una chiave primaria con due colonne?
>
>> Il codice d'esempio funziona benissimo e mi pare di averlo scaricato dal
>> sito comune, ma il problema è che quando si apre la prima maschera "f1",
>> in
> Ok. Personalmente pero' non conosco molto il software che sta sul sito
>
>
> Lascia stare cio che fai.
> Cosa vuoi fare?
>
> --
> ac
-------------------
Ciao, da una form principale, con un pulsante di comando vorrei aprire
un'altra form che sia sincronizzata, per intenderci... come se fosse una
sottomaschera, al fine di poter inserire i dati (diversi record) da
correlare alla tabella della form principale che possiede 2 chiavi primarie
che sono: NrProgrTab2 e DataNrProgrTab. Le form da aprire sono circa 10,
ovviamente da aprire una per volta, ed anno nella propria tabella i 2 campi
denominati come quelli della form principale, naturalmente non sono chiavi
primarie perchè devono poter contenere diversi record con stesso Nr e Data.
Oltre che poter correlare i dati, vorrei anche poterli visualizzare quando
scorro i record della form principale. mamma mia che stanchezza oggi.
E' un macello questo codice VBA, anzi codice Matrix per me.
Grazie Alessandro!!
Bruno | |
| | |
24-11-2008, 00.01.59
|
#7 | | Re: Sincronizzazione fra form separate con due chiavi primarie eapertura 2^ form da pulsante di comando Bruno - S95 ha scritto:
> "Alessandro Cara" <alex*ay-1asistemi.it> ha scritto nel messaggio
> news:BgjWk.36225$8%.19915*tornado.fastwebnet.it...
>> Bruno - S95 ha scritto:
>>> Access XP /2003
>>>
>>> Ciao a tutti e buona domenica
>>>
>>> Problema:
>>>
>>> La sincronizzazione che vorrei fare è fra la form denominata "f1"
>>> (collegata alla tabella denominata "Tab1" dove vengono scaricati i dati
>>> di base) e "f2" collegata alla Tab2 dove dovrebbero essere scaricati i
>>> dati inseriti nei vari record correlati. La correlazione che dovrei fare,
>>> diversamente da quella in esempio che ha una sola chiave primaria, ha 2
>>> chiavi primarie che sono: NrProgressivo e DataNrProgressivo. Come
>>> effettuare la sincronizzazione con due chiavi primarie ?
>> Due chiavi primarie non esistono.
>> Cosa intendi una chiave primaria con due colonne?
>>
>>> Il codice d'esempio funziona benissimo e mi pare di averlo scaricato dal
>>> sito comune, ma il problema è che quando si apre la prima maschera "f1",
>>> in
>> Ok. Personalmente pero' non conosco molto il software che sta sul sito
>>
>>
>> Lascia stare cio che fai.
>> Cosa vuoi fare?
>>
>> --
>> ac
>
> -------------------
>
> Ciao, da una form principale, con un pulsante di comando vorrei aprire
> un'altra form che sia sincronizzata, per intenderci... come se fosse una
> sottomaschera, al fine di poter inserire i dati (diversi record) da
> correlare alla tabella della form principale che possiede 2 chiavi primarie
> che sono: NrProgrTab2 e DataNrProgrTab. Le form da aprire sono circa 10,
> ovviamente da aprire una per volta, ed anno nella propria tabella i 2 campi
> denominati come quelli della form principale, naturalmente non sono chiavi
> primarie perchè devono poter contenere diversi record con stesso Nr e Data.
> Oltre che poter correlare i dati, vorrei anche poterli visualizzare quando
> scorro i record della form principale. mamma mia che stanchezza oggi.
> E' un macello questo codice VBA, anzi codice Matrix per me.
>
> Grazie Alessandro!!
>
> Bruno
>
>
>
>
Ciao Bruno, insisto, su una tabella e' possibile "unasolachiaveprimaria"
Quello che puoi avere sono "n" chiavi che identificano univocamente un
record ma solo una di queste e' definibile "primaria".
Una chiave (indice) poi può essere composta da piu' attributi (o colonne
che dir si voglia).
Questo per la parte teorica.
Private Sub Form_Current()
On Error Resume Next
Dim X As Variant
Dim strCond As String
strCond = "codicebase = '" & Me.Codice & "'"
Parent!sCodDettaglio.Form.FilterOn = True
Parent!sCodDettaglio.Form.Filter = strCond
Parent!sCodDettaglio.Visible = True
End Sub
questo codice fa esattamente quello che chiedi.
L'ho recuperato ad una applicazione che ho in "produzione"
Il contesto e' leggermente diverso dal tuo perche' sono sottomaschere di
una form padre (Parent) ma se sostituisci
Parent!sCodDettaglio.Form
con
Forms!nomeform
ottieni lo stesso effetto
e' sufficiente e necessario avviare alla form collegata il corretto
criterio di filtro i.e. strCond nel codice soprariportato
Non mi sembra poi cosi' "Matrix"
Ciao Bruno.
--
ac | |
| | |
24-11-2008, 00.06.07
|
#8 | | Re: Sincronizzazione fra form separate con due chiavi primarie eapertura 2^ form da pulsante di comando Bruno - S95 ha scritto:
P.S.
Nella mia applicazione non ci sono pulsanti.
E' chiaro che se tu usi un pulsante ad ogni "current" ti devi salvare il
criterio di relazione e poi avviarlo al click del pulsante
--
ac | |
| | |
24-11-2008, 00.24.01
|
#9 | | Re: Sincronizzazione fra form separate con due chiavi primarie e apertura 2^ form da pulsante di comando
[CUT]
>>
> Ciao Bruno, insisto, su una tabella e' possibile "unasolachiaveprimaria"
> Quello che puoi avere sono "n" chiavi che identificano univocamente un
> record ma solo una di queste e' definibile "primaria".
> Una chiave (indice) poi può essere composta da piu' attributi (o colonne
> che dir si voglia).
> Questo per la parte teorica.
>
> Private Sub Form_Current()
> On Error Resume Next
> Dim X As Variant
> Dim strCond As String
> strCond = "codicebase = '" & Me.Codice & "'"
> Parent!sCodDettaglio.Form.FilterOn = True
> Parent!sCodDettaglio.Form.Filter = strCond
> Parent!sCodDettaglio.Visible = True
> End Sub
***** Domani provo, ma visto che ci sono tichiedo: dove va inserito questo
codice, presumo nella form secondaria, cioè quella che devo aprire con il
pulsante.
>
> questo codice fa esattamente quello che chiedi.
> L'ho recuperato ad una applicazione che ho in "produzione"
> Il contesto e' leggermente diverso dal tuo perche' sono sottomaschere di
> una form padre (Parent) ma se sostituisci
>
> Parent!sCodDettaglio.Form
> con
> Forms!nomeform
>
> ottieni lo stesso effetto
> e' sufficiente e necessario avviare alla form collegata il corretto
> criterio di filtro i.e. strCond nel codice soprariportato
****** mi sento un pocchino imb... , cosa intendi per criterio i.e. strCond.
>
> Non mi sembra poi cosi' "Matrix"
****** è Matrix, è Matrix, almeno per me e per ora, lasciatelo dire.
> Ciao Bruno.
> --
> ac
>
***** Ciao e grazie Alessandro, domani provo a smanettare un pochino e poi
ti faccio sapere. Domani sera posto di nuovo, verso le 08.30 se non faccio
tardi a lavoro.
Bruno | |
| | |
24-11-2008, 00.28.22
|
#10 | | Re: Sincronizzazione fra form separate con due chiavi primarie e apertura 2^ form da pulsante di comando
"Alessandro Cara" <alex*ay-1asistemi.it> ha scritto nel messaggio
news:mtkWk.36404$8%.1452*tornado.fastwebnet.it...
> Bruno - S95 ha scritto:
> P.S.
> Nella mia applicazione non ci sono pulsanti.
> E' chiaro che se tu usi un pulsante ad ogni "current" ti devi salvare il
> criterio di relazione e poi avviarlo al click del pulsante
> --
> ac
Abbi pazienza, non oso immaginare cosa mi diresti se mi avessi d'avanti a
te, cosa intendi?
Puoi spiegarmelo in modo che io capisca meglio. Sono untantino imbarazzato
per quanto sono di legno.
Grazie
Bruno | |
| | |
24-11-2008, 00.46.27
|
#11 | | Re: Sincronizzazione fra form separate con due chiavi primarie e apertura 2^ form da pulsante di comando
"Alessandro Cara" <alex*ay-1asistemi.it> ha scritto nel messaggio
news:mtkWk.36404$8%.1452*tornado.fastwebnet.it...
> Bruno - S95 ha scritto:
> P.S.
> Nella mia applicazione non ci sono pulsanti.
> E' chiaro che se tu usi un pulsante ad ogni "current" ti devi salvare il
> criterio di relazione e poi avviarlo al click del pulsante
> --
> ac
----------
Scusami ancora Alessandro, a prima vista, per come ho messo e cambiato il
codice, sembra che funzioni.
Ho utilizzato una sola chiave nelle condizioni della stringa: strCond =
"NrProgrTab2 = Forms!f1!NrProgrTab1", senza però riuscire a dargli anche il
criterio della data, infatti non riesco a fargliele accettare entrambi.
Forse sbaglio nello scrivere. Puoi vedere tu.
strCond = "NrProgrTab2 = Forms!f1!NrProgrTab1" & "DataNrProgrTab2 =
Forms!f1!DataNrProgrTab1"
Scusami ancora e grazie
Bruno | |
| | |
24-11-2008, 01.01.38
|
#12 | | Re: Sincronizzazione fra form separate con due chiavi primarie eapertura 2^ form da pulsante di comando Bruno - S95 ha scritto:
> [CUT]
>
>> Ciao Bruno, insisto, su una tabella e' possibile "unasolachiaveprimaria"
>> Quello che puoi avere sono "n" chiavi che identificano univocamente un
>> record ma solo una di queste e' definibile "primaria".
>> Una chiave (indice) poi può essere composta da piu' attributi (o colonne
>> che dir si voglia).
>> Questo per la parte teorica.
>>
>> Private Sub Form_Current()
>> On Error Resume Next
>> Dim X As Variant
>> Dim strCond As String
>> strCond = "codicebase = '" & Me.Codice & "'"
>> Parent!sCodDettaglio.Form.FilterOn = True
>> Parent!sCodDettaglio.Form.Filter = strCond
>> Parent!sCodDettaglio.Visible = True
>> End Sub
>
> ***** Domani provo, ma visto che ci sono tichiedo: dove va inserito questo
> codice, presumo nella form secondaria, cioè quella che devo aprire con il
> pulsante.
No. Va nella primaria. E' quella che dice alla secondaria cosa deve fare.
Mi sono dimenticato una cosa.
Tu hai due diversi momenti in cui operi
1) Quando fai la open del form secondario
2) Quando scorri il primario a secondario aperto.
Nel primo caso.
Nella apertura form devi indicare nel parametro "OpenArgs" il criterio
di selezione che vuoi applicare in apertura
e sull'evento di open del form inserire il codice suddetto cosi'
Filter = openargs
FilterOn = True
Nel secondo caso come gia' detto
>> questo codice fa esattamente quello che chiedi.
>> L'ho recuperato ad una applicazione che ho in "produzione"
>> Il contesto e' leggermente diverso dal tuo perche' sono sottomaschere di
>> una form padre (Parent) ma se sostituisci
>>
>> Parent!sCodDettaglio.Form
>> con
>> Forms!nomeform
>>
>> ottieni lo stesso effetto
>
>> e' sufficiente e necessario avviare alla form collegata il corretto
>> criterio di filtro i.e. strCond nel codice soprariportato
>
> ****** mi sento un pocchino imb... , cosa intendi per criterio i.e. strCond.
strCond e' una variabile che contiena la regola di filtro che vuoi
applicare ad esempio
strCond=" campo1 = valore and campo2 = valore"
e' una "Where" senza la parola "where"
--
ac | |
| | |
24-11-2008, 01.03.44
|
#13 | | Re: Sincronizzazione fra form separate con due chiavi primarie eapertura 2^ form da pulsante di comando Bruno - S95 ha scritto:
[cut]
> strCond = "NrProgrTab2 = Forms!f1!NrProgrTab1" & "DataNrProgrTab2 =
> Forms!f1!DataNrProgrTab1"
strCond = "NrProgrTab2 = " & Forms!f1!NrProgrTab1" & " and
DataNrProgrTab2 = " & controllodata
Attenzione agli apici o al diesis (#) nell'indicare la data
--
ac | |
| | |
24-11-2008, 01.23.04
|
#14 | | Re: Sincronizzazione fra form separate con due chiavi primarie e apertura 2^ form da pulsante di comando
"Alessandro Cara" <alex*ay-1asistemi.it> ha scritto nel messaggio
news:njlWk.36456$8%.2400*tornado.fastwebnet.it...
> Bruno - S95 ha scritto:
> [cut]
>> strCond = "NrProgrTab2 = Forms!f1!NrProgrTab1" & "DataNrProgrTab2 =
>> Forms!f1!DataNrProgrTab1"
> strCond = "NrProgrTab2 = " & Forms!f1!NrProgrTab1" & " and DataNrProgrTab2
> = " & controllodata
>
>
> Attenzione agli apici o al diesis (#) nell'indicare la data
> --
> ac
-----------
Ancora mille grazie. Senti, vista l'ora, non è che sei mezzo vampiro. Io ti
saluto e ti auguro una buona noces.
Bruno | |
| | |
24-11-2008, 23.55.20
|
#15 | | Re: Sincronizzazione fra form separate con due chiavi primarie e apertura 2^ form da pulsante di comando
"Alessandro Cara" <alex*ay-1asistemi.it> ha scritto nel messaggio
news:njlWk.36456$8%.2400*tornado.fastwebnet.it...
> Bruno - S95 ha scritto:
> [cut]
>> strCond = "NrProgrTab2 = Forms!f1!NrProgrTab1" & "DataNrProgrTab2 =
>> Forms!f1!DataNrProgrTab1"
> strCond = "NrProgrTab2 = " & Forms!f1!NrProgrTab1" & " and DataNrProgrTab2
> = " & controllodata
>
>
> Attenzione agli apici o al diesis (#) nell'indicare la data
> --
> ac
-----------------------
Ciao Alessandro, proprio non ci cavo piede. Con il permesso del News e
confidando nella tua (spero) disponibilità ti chiedo se posso inviarti ib
database. Sono solo due tabelle. Diversamente non riesco ad andare avanti.
Grazie
Bruno | |
| | |
25-11-2008, 15.26.20
|
#16 | | Re: Sincronizzazione fra form separate con due chiavi primarie e apertura 2^ form da pulsante di comando
"Alessandro Cara" <alex*ay-1asistemi.it> ha scritto nel messaggio
news:njlWk.36456$8%.2400*tornado.fastwebnet.it...
> Bruno - S95 ha scritto:
> [cut]
>> strCond = "NrProgrTab2 = Forms!f1!NrProgrTab1" & "DataNrProgrTab2 =
>> Forms!f1!DataNrProgrTab1"
> strCond = "NrProgrTab2 = " & Forms!f1!NrProgrTab1" & " and DataNrProgrTab2
> = " & controllodata
>
>
> Attenzione agli apici o al diesis (#) nell'indicare la data
> --
> ac
Dopo 3 giorni ho risolto definitivamente creando un valore univoco composto
dalla seguente formula ed utilidando il codice a seguire.
ID_ODS_Query: Format([NrProgrTab1];"000") &
Format(Month([DataNrProgrTab1]);"00") & Format(Day([DataNrProgrTab1]);"00")
& Format(Year([DataNrProgrTab1]);"0000")
il codice viene imputato automaticamente nel campo della tabella primaria,
anche in caso di modifica e la visualizzazione dei record con la form
secondaria avviene regolarmente. Ovviamente ho messo le 2 tabelle in
relazione 1 a molti con integrità referenziale.
Ciao a tutti e grazie ancora per il tempo dedicatomi.
Bruno
----------- Form principale ------------------
Option Compare Database
Private Sub Form_BeforeUpdate(Cancel As Integer)
Me.ID_ODS.Value = Me.ID_ODS_Query
End Sub
Private Sub Form_Current()
On Error Resume Next
Dim X As Variant
Dim strCond As String
strCond = "ID_ODS = Forms!f1!ID_ODS"
Forms!f2.Form.FilterOn = True
Forms!f2.Form.Filter = strCond
Forms!f2.Visible = True
End Sub
Private Sub Comando6_Click()
On Error GoTo Err_Comando6_Click
Dim stDocName As String
Dim stLinkCriteria As String
stDocName = "f2"
DoCmd.OpenForm stDocName, acFormDS, , stLinkCriteria
Exit_Comando6_Click:
Exit Sub
Err_Comando6_Click:
MsgBox Err.Description
Resume Exit_Comando6_Click
End Sub
-------------------- form secondaria da aprire -----------------
Option Compare Database
Private Sub Form_BeforeUpdate(Cancel As Integer)
Me.ID_ODS.Value = Forms!f1!ID_ODS
End Sub
Private Sub Form_Current()
Dim strCond As String
strCond = "ID_ODS = Forms!f1!ID_ODS"
Me.Filter = strCond
Me.FilterOn = True
End Sub
Private Sub Form_Open(Cancel As Integer)
Call Form_Current
End Sub | |
| | | | |