Recordset

Carlos
22 de Marzo del 2005
Hola! Tengo una instruccion ADO para crear una tabla en una BBDD, pero quiero comprobar antes si el nombre de la tabla existe, como puedo hacer? Lo que hago es lo siguiente:
Dim Cnn As ADODB.Connection
Set Cnn = New ADODB.Connection
Cnn.ConnectionString = "provider=microsoft.jet.OLEDB.4.0;" & "data Source= " & "Test.mdb"
Cnn.Open
'Al picar en el botón de crear tabla:
'CONTROL SI EXISTE LA TABLA EN LA BBDD ???
Cnn.Execute ("CREATE TABLE " & Text1.Text & " (ID integer, Campo1 integer, Campo2 string)")
MsgBox "Test creado con éxito"

Gracias Mil

lorrich
22 de Marzo del 2005
Es una solucion muy perronera, pero puede funcionar, puedes hacer una funcion que te haga un select a la tabla que quieres crear, y si te da error es que no existe y si no te lo da es que existe.

Function ExisteTabla(tabla AS String) AS Boolean

Dim Cnn As ADODB.Connection
Dim Rst As New ADODB.RecordSet

On Error GoTo error
Set Cnn = New ADODB.Connection
Cnn.ConnectionString = "provider=microsoft.jet.OLEDB.4.0;" & "data Source= " & "Test.mdb"
Cnn.Open

With Rst
.LockType = adLockOptimistic
.CursorLocation = adUseClient
.CursorType = adOpenStatic
.ActiveConnection = conecta
End With

Rst.Open "Select * From " & tabla

ExisteTabla=True
Exit Function

error
ExisteTabla=False

End Function

Espero que te sirva.

lorrich
22 de Marzo del 2005
Se me olvido cerrar el RecordSet y la conexion, lo cierras despues de la devolucion.

Un saludo.