OVH Cloud OVH Cloud

Renommer et effacer une table

3 réponses
Avatar
Daniel AUBRY
Bonsoir à tous,

sous VB6 je cherche à renommer une table Access avec ADOX.Catalog

N'ayant pas trouver comment renommer, je copie Table1 dans Table2
SQL = "Select [" & Table1 & "].* Into [" & Table2 & "] from [" &
Table1 & "]"

puis je détruis Table1
cat.Tables.Delete Table1

Tout se passe bien SAUF si Table1 contient un espace : impossible à
supprimer !!!!
J'ai tenté ceci : cat.Tables.Delete "[" & Table1 & "]"
Sans succès.

Si quelqu'un à une p'tite idée...................

Dany

mail@daniel-aubry.com

3 réponses

Avatar
Hervé
Bonsoir Daniel,
Teste ceci (SQL "DROP TABLE"), chez moi ça marche. En général, on évite de
mettre des espaces dans les noms de tables, utilise le tiret bas pour rendre
plus lisible Ma Table MaTable >> Ma_Table. Il en va de même pour les noms de
champs :

Private Sub ConnecterBase(ConnectBD As ADODB.Connection, _
Optional Rs)

Set ConnectBD = New ADODB.Connection
If Not IsMissing(Rs) Then
Set Rs = New ADODB.Recordset
End If
With ConnectBD
.Provider = "Microsoft.Jet.OLEDB.4.0"
'ici changer le chemin de la base
.ConnectionString = "D:Dossier 1Ma_base.mdb"
.Open
End With
End Sub

Private Sub SupprimerTable()
Dim ConnectBD As ADODB.Connection
Dim ChaineSQL As String
Dim NomTable As String

NomTable = "[Ma table a moi]"
ConnecterBase ConnectBD
ChaineSQL = "DROP TABLE " & NomTable
With ConnectBD
.Execute ChaineSQL
.Close
End With
Set ConnectBD = Nothing
End Sub

Hervé.

"Daniel AUBRY" a écrit dans le message news:
425e9a27$0$27281$
Bonsoir à tous,

sous VB6 je cherche à renommer une table Access avec ADOX.Catalog

N'ayant pas trouver comment renommer, je copie Table1 dans Table2
SQL = "Select [" & Table1 & "].* Into [" & Table2 & "] from [" &
Table1 & "]"

puis je détruis Table1
cat.Tables.Delete Table1

Tout se passe bien SAUF si Table1 contient un espace : impossible à
supprimer !!!!
J'ai tenté ceci : cat.Tables.Delete "[" & Table1 & "]"
Sans succès.

Si quelqu'un à une p'tite idée...................

Dany






Avatar
Daniel AUBRY
Très très bon. Je ne connaissais pas.

Pour les espaces dans les noms de tables, d'habitude je ne fais pas.
Mais là, c'est particulier. C'est l'utilisateur qui crée des catégories
et chaque catégorie devient une table.
Il comprendrait mal de ne pourvoir mettre des espaces, des
caractères accentués, etc.....

C'est à celui qui fait l'appli d'offrir du convivial.....

Encore merci.

Dany

"Hervé" a écrit dans le message de news:

Bonsoir Daniel,
Teste ceci (SQL "DROP TABLE"), chez moi ça marche. En général, on évite de
mettre des espaces dans les noms de tables, utilise le tiret bas pour
rendre
plus lisible Ma Table MaTable >> Ma_Table. Il en va de même pour les noms
de
champs :

Private Sub ConnecterBase(ConnectBD As ADODB.Connection, _
Optional Rs)

Set ConnectBD = New ADODB.Connection
If Not IsMissing(Rs) Then
Set Rs = New ADODB.Recordset
End If
With ConnectBD
.Provider = "Microsoft.Jet.OLEDB.4.0"
'ici changer le chemin de la base
.ConnectionString = "D:Dossier 1Ma_base.mdb"
.Open
End With
End Sub

Private Sub SupprimerTable()
Dim ConnectBD As ADODB.Connection
Dim ChaineSQL As String
Dim NomTable As String

NomTable = "[Ma table a moi]"
ConnecterBase ConnectBD
ChaineSQL = "DROP TABLE " & NomTable
With ConnectBD
.Execute ChaineSQL
.Close
End With
Set ConnectBD = Nothing
End Sub

Hervé.

"Daniel AUBRY" a écrit dans le message news:
425e9a27$0$27281$
Bonsoir à tous,

sous VB6 je cherche à renommer une table Access avec ADOX.Catalog

N'ayant pas trouver comment renommer, je copie Table1 dans Table2
SQL = "Select [" & Table1 & "].* Into [" & Table2 & "] from [" &
Table1 & "]"

puis je détruis Table1
cat.Tables.Delete Table1

Tout se passe bien SAUF si Table1 contient un espace : impossible à
supprimer !!!!
J'ai tenté ceci : cat.Tables.Delete "[" & Table1 & "]"
Sans succès.

Si quelqu'un à une p'tite idée...................

Dany










Avatar
Hervé
Bonsoir Daniel,
Si ça marche, alors pas de problème, ton utilisateur peut mettre des espaces
;o)
Hervé.

"Daniel AUBRY" a écrit dans le message news:
425edf76$0$1241$
Très très bon. Je ne connaissais pas.

Pour les espaces dans les noms de tables, d'habitude je ne fais pas.
Mais là, c'est particulier. C'est l'utilisateur qui crée des catégories
et chaque catégorie devient une table.
Il comprendrait mal de ne pourvoir mettre des espaces, des
caractères accentués, etc.....

C'est à celui qui fait l'appli d'offrir du convivial.....

Encore merci.

Dany

"Hervé" a écrit dans le message de news:

> Bonsoir Daniel,
> Teste ceci (SQL "DROP TABLE"), chez moi ça marche. En général, on évite


de
> mettre des espaces dans les noms de tables, utilise le tiret bas pour
> rendre
> plus lisible Ma Table MaTable >> Ma_Table. Il en va de même pour les


noms
> de
> champs :
>
> Private Sub ConnecterBase(ConnectBD As ADODB.Connection, _
> Optional Rs)
>
> Set ConnectBD = New ADODB.Connection
> If Not IsMissing(Rs) Then
> Set Rs = New ADODB.Recordset
> End If
> With ConnectBD
> .Provider = "Microsoft.Jet.OLEDB.4.0"
> 'ici changer le chemin de la base
> .ConnectionString = "D:Dossier 1Ma_base.mdb"
> .Open
> End With
> End Sub
>
> Private Sub SupprimerTable()
> Dim ConnectBD As ADODB.Connection
> Dim ChaineSQL As String
> Dim NomTable As String
>
> NomTable = "[Ma table a moi]"
> ConnecterBase ConnectBD
> ChaineSQL = "DROP TABLE " & NomTable
> With ConnectBD
> .Execute ChaineSQL
> .Close
> End With
> Set ConnectBD = Nothing
> End Sub
>
> Hervé.
>
> "Daniel AUBRY" a écrit dans le message news:
> 425e9a27$0$27281$
>> Bonsoir à tous,
>>
>> sous VB6 je cherche à renommer une table Access avec ADOX.Catalog
>>
>> N'ayant pas trouver comment renommer, je copie Table1 dans Table2
>> SQL = "Select [" & Table1 & "].* Into [" & Table2 & "] from ["


&
>> Table1 & "]"
>>
>> puis je détruis Table1
>> cat.Tables.Delete Table1
>>
>> Tout se passe bien SAUF si Table1 contient un espace : impossible à
>> supprimer !!!!
>> J'ai tenté ceci : cat.Tables.Delete "[" & Table1 & "]"
>> Sans succès.
>>
>> Si quelqu'un à une p'tite idée...................
>>
>> Dany
>>
>>
>>
>>
>
>