sono riuscito a risolvere con tante query in un modulo vba usando poi un metodo rename per far prendere al nome della tabella generata il numero del progetto, posto il codice di tutto
il modulo vba per la prima scelta è il seguente
codice:
'------------------------------------------------------------
' Macro1
'
'------------------------------------------------------------
Function Macro1()
On Error GoTo Macro1_Err
DoCmd.OpenQuery "Selezione record voluti", acViewNormal, acEdit
DoCmd.OpenQuery "SalvataggioRisultatoQueryInTabella", acViewNormal, acEdit
DoCmd.OpenQuery "TabellaME", acViewNormal, acEdit
Dim io As Integer
io = [Forms]![NuovoProgetto]![Numero progetto]
DoCmd.Rename io, acTable, "ME"
Macro1_Exit:
Exit Function
Macro1_Err:
MsgBox Error$
Resume Macro1_Exit
End Function
per la seconda e successive
codice:
Function fctTableExists(strTableName As String) As Boolean
If DCount("*", "MSysObjects", "Name='" & strTableName & "'") Then
fctTableExists = True
End If
End Function
Private Sub Comando25_Click()
Dim io As String
io = [Forms]![NuovoProgetto]![Numero progetto]
If fctTableExists(io) Then
MsgBox ("la tabella esiste")
DoCmd.OpenQuery "Selezione record voluti", acViewNormal, acEdit
DoCmd.OpenQuery "QueryTempo", acViewNormal, acEdit
DoCmd.OpenQuery "RisultatoAccodamentoInTabella", acViewNormal, acEdit
Dim x As Integer
x = [Forms]![NuovoProgetto]![Numero progetto]
DoCmd.Rename x, acTable, "ME"
Else
MsgBox ("la tabella non esiste")
End If
End Sub
questo è per cancellare la tabella temporanea TE quando si passa da un progetto all'altro
codice:
Private Sub Comando27_Click()
Dim strSQL As String
strSQL = "DROP TABLE TE"
CurrentDb.Execute strSQL
End Sub
non sto a postare il testo di tutte le query, comunque l'idea è stata, unisco tutte le tabelle con una query di unione così posso selezionare anche per produttore senza doevr usare il nome delle tabelle per una scelta che non si poteva fare, seleziono i record che mi servono con una query di selezione, li metto in una tabella temporanea te con il primo bottone, con il secondo bottone seleziono i record che mi servono con la stessa query di prima, accodo questa selezione a te e copio te in un'altra tabella x rinominando x con il numero del progetto preso da maschera, in modo tale da non perdere te, in quanto tutti i successivi accodamenti devono essere fatti aio precedenti dati, poi quando passo a un nuovo progetto cancello la tabella te con un altro bottone usando DROP TABLE, in modo così da avere poi di nuovo un'altra creazione di te nel secondo progetto con gli accodamenti del secondo progetto e basta