Ho fatto questo codice:
Option Compare Database
'------------------------------------------------------------
' Macro1
'
'------------------------------------------------------------
Function Macro1()
On Error GoTo Macro1_Err
DoCmd.OpenQuery "Selezione record voluti", acViewNormal, acEdit
DoCmd.OpenQuery "SalvataggioRisultatoQueryInTabella", acViewNormal, acEdit
Dim io As Integer
io = [Forms]![NuovoProgetto]![Numero progetto]
DoCmd.Rename io, acTable, "PROGETTO"
Macro1_Exit:
Exit Function
Macro1_Err:
MsgBox Error$
Resume Macro1_Exit
End Function
praticamente mi esegue una query che mi seleziona i record da me scelti in una maschera ed esegue la seconda query che mi crea una tabella contenente la selezione della prima query dopodichè rinomino questa tabella con il numero del progetto prendendolo da quello inserito nella maschera, ora io avrei bisogno di fare un if che non saprei come fare per dire al programma quando dopo aver generato la tabella la rinomina che se la tabella con quel nome esiste gia allora accodo quella nuova facendola diventare una sola, mentre invece se non esiste allora la creo, io ho pensato a una cosa simile
If io = io Then
strSql = "SELECT io.* UNION io.* FROM io"
End If
ma ovviamente non mi funziona, qualcuno ha un idea?
io ho fatto questa funzione che mi dice se la tabella esiste o no
Function fctTableExists(strTableName As String) As Boolean
If DCount("*", "MSysObjects", "Name='" & strTableName & "'") Then
fctTableExists = True
End If
End Function
Sub tabellaEsiste()
Dim io As String
io = [Forms]![NuovoProgetto]![Numero progetto]
If fctTableExists(io) Then
MsgBox ("la tabella esiste")
Else
MsgBox ("la tabella non esiste")
End If
End Sub
ma come faccio a dire se la tabella esiste allora accoda la selezione fatta nella maschera con la query?