Ciao a tutti, è la prima volta che scrivo su questo forum e quindi vi anticipo già le mie scuse se i termini utilizzati nell'esporvi il problema non saranno corretti.
Ho una serie di tabelle importate in access da vari fogli excel (tutte con la medesima struttura) e devo creare una query union che me le accodi tutte una dietro l'altra: le tabelle sono n (numero variabile) ed ho già creato il comando per importarle/cancellarle.
Quello che ho fatto è creare una casella combinata che legge i nomi delle tabelle presenti e mi permette di selezionarne quante ne voglio; a questo punto la macro dovrebbe leggere i nomi delle tabelle selezionate e creare la query union...
Ecco il codice:
Private Sub Comando12_Click()
Dim varItem As Variant
Dim strSQL As String
Dim lngLen As Long
With Me.CasellaCombinata10
If .ItemsSelected.Count = 0 Then MsgBox "Nessuna tabella selezionata"
Exit Sub
For Each varItem In .ItemsSelected
strSQL = strSQL & " UNION ALL SELECT * FROM " & .ItemData(varItem)
Next varItem
End With
lngLen = Len(strSQL)
Select Case lngLen
Case Is > 0
strSQL = Right(strSQL, Len(strSQL) - 10)
DoCmd.RunSQL strSQL
End Select
End Sub
Se non seleziono alcuna tabella mi appare correttamente la msgbox ma se ne seleziono anche solo una non succede nulla, nemmeno un errore... purtroppo ho già provato vari tentativi di alterazione del codice, ma da perfetto neofita sto andando a casaccio... mi sapete indicare dove sto sbagliando?
Grazie in anticipo!