Domingo 22 de Diciembre de 2024, 14:19
SoloCodigo
Bienvenido(a),
Visitante
. Por favor,
ingresa
o
regístrate
.
¿Perdiste tu
email de activación?
Inicio
Foros
Chat
Ayuda
Buscar
Ingresar
Registrarse
SoloCodigo
»
Foros
»
Programación General
»
Visual Basic 6.0 e inferiores
(Moderador:
F_Tanori
) »
Cuantas Tablas Tiene La Base De Datos?
« anterior
próximo »
Imprimir
Páginas: [
1
]
Autor
Tema: Cuantas Tablas Tiene La Base De Datos? (Leído 3659 veces)
calosoft
Nuevo Miembro
Mensajes: 15
Cuantas Tablas Tiene La Base De Datos?
«
en:
Sábado 15 de Octubre de 2005, 00:35 »
0
hola, estoy desarrolando un programita, donde tengo un combo y quiero que en ese combo aparescan los nombres de las tablas de mi base de datos.
mi base de datos esta en access, y las tablas se van generando con otros procesos del programita. alguien me puede ayudar?, y si saben como se hace esto, me lo podrian decir como se hace en sql server 2000
Tweet
ArKaNtOs
Miembro de PLATA
Mensajes: 1253
Nacionalidad:
Re: Cuantas Tablas Tiene La Base De Datos?
«
Respuesta #1 en:
Sábado 15 de Octubre de 2005, 00:50 »
0
mmmmm hola yo tambien busco lo mismo carlosoft me acuerdo que tenia el codigo guardado en el servidor de mi universidad pero tuvo un fallo y lo tuvieron que formatear y ahora no se que hacer
, lo peor es que ya no me acuerdo de como hacerlo
si alguien sabe como hacerlo le pido de favor que lo pase plz
solocodigo
el punto de encuentro de los programadores
VB
,
C
,
C++
,
.Net
,
Java
,
Delphi
,
Linux
,
Programacion de Videojuegos
,
ASM
,
Dudas Informaticas
.
Widark
Miembro MUY activo
Mensajes: 246
Re: Cuantas Tablas Tiene La Base De Datos?
«
Respuesta #2 en:
Sábado 15 de Octubre de 2005, 01:07 »
0
Que tal!
Código: Text
Dim Cnx As ADODB.Connection
Dim pth As String 'Database Path
Dim Ctl As ADOX.Catalog 'Database Catalog from Actual Connection
Dim CtlTbl As ADOX.Table
Dim Col As ADOX.Column
Dim sGen As String
Dim i As Integer
Dim j As Integer
Dim k As Integer
Private Sub cmdConectar_Click()
On Error GoTo ErrGetPath
' Establece CancelError a Verdadero
cdlBasedatos.CancelError = True
' Establece banderas
cdlBasedatos.Flags = cdlOFNHideReadOnly
' Establece filtros
cdlBasedatos.Filter = "All Files(*.*)|*.*|Access 2000 DB (*.mdb)|*.mdb"
' Especifica filtro por defecto
cdlBasedatos.FilterIndex = 2
cdlBasedatos.ShowOpen
pth = cdlBasedatos.FileName
If LenB(pth) > 0 And LenB(Dir(pth)) > 0 Then
Coneccion
If Not (Cnx Is Nothing) Then
LlenaTabla
End If
End If
Exit Sub
ErrGetPath:
'User pressed the Cancel button
pth = vbNullString
End Sub
Sub Coneccion()
On Error GoTo CnnError
Dim strCnn As String
strCnn = "Provider=Microsoft.Jet.OLEDB.4.0;"
strCnn = strCnn & "Data Source=" & pth & ";"
strCnn = strCnn & "Jet OLEDB:Engine Type=5;"
Set Cnx = New ADODB.Connection
Cnx.Open strCnn
Exit Sub
CnnError:
Dim psw As String
Select Case Err
Case Is = -2147217843 'Database password incorrect
psw = ObtainPassword
strCnn = vbNullString
strCnn = "Provider=Microsoft.Jet.OLEDB.4.0;"
strCnn = strCnn & "Data Source=" & pth & ";"
strCnn = strCnn & "Jet OLEDB:Engine Type=5;"
strCnn = strCnn & psw
If LenB(psw) = 0 Then
Resume Next
Else
Resume
End If
Case Else
MsgBox "Error Number : " & Err & vbCrLf & Error, vbCritical, Err.Source
End
End Select
End Sub
Sub LlenaTabla()
On Error GoTo ErrorTab
Screen.MousePointer = vbHourglass
Set Ctl = New ADOX.Catalog
Ctl.ActiveConnection = Cnx
i = 0
'Table Definitions
For Each CtlTbl In Ctl.Tables
If CtlTbl.Type = "TABLE" Then
lstTablas.AddItem CtlTbl.Name
End If
Next
Screen.MousePointer = vbDefault
Exit Sub
ErrorTab:
MsgBox Err.Description, vbCritical
Screen.MousePointer = vbDefault
End Sub
Private Function ObtainPassword() As String
Dim psw As String
psw = vbNullString
Do While Len(psw) = 0
frmLogin.Show vbModal
psw = frmLogin.Password
If frmLogin.NoMore Then
ObtainPassword = vbNullString
Exit Do
End If
Loop
If Len(psw) > 0 And (Not frmLogin.NoMore) Then
ObtainPassword = ";Jet OLEDB:Database Password=" & psw & ";"
Unload frmLogin
Else
MsgBox "Entre el password correcto.", vbExclamation
ObtainPassword = vbNullString
Set Cnx = Nothing
Unload frmLogin
End If
End Function
Este es un ejemplo que descargue de freecode y utiliza ADOX. Este es con DAO
Código: Text
Private Sub cmdBasedatos_Click()
Dim tblObj As TableDef
On Error GoTo errCancelCommon
Abierto = False
Adiciono = False
cdlBasedatos.CancelError = False
cdlBasedatos.ShowOpen
If Len(cdlBasedatos.FileName) <> 0 Then
cmdCodigos.Enabled = True
On Error Resume Next
Set Cnx = New ADODB.Connection
With Cnx
For i = 0 To 5 Step 0.1
.CursorLocation = adUseClient
.ConnectionString = "Provider=Microsoft.Jet.OLEDB." & Replace(Format(i, "0.0"), ",", ".") & ";Persist Security Info=False;Data Source=" & cdlBasedatos.FileName & ";Jet OLEDB:Database Password=;"
.Open
If .State = 1 Then Exit For
Next
If .State = 0 Then
MsgBox "No se encontró una versión adecuada para iniciar el motor de la BD.", vbCritical, "Error al iniciar"
.Close
End
Else
Abierto = True
cmbTablas.Clear
'Abró la base de datos y lo asigno a la variable
Set gdbCurrentDB = DBEngine.OpenDatabase(cdlBasedatos.FileName, False, False, ";pwd=")
For Each tblObj In gdbCurrentDB.TableDefs
If (tblObj.Attributes And dbSystemObject) = 0 Then 'Valido que las tablas no sean del sistema, adiciono al combo
cmbTablas.AddItem tblObj.Name
End If
Next
End If
End With
End If
Exit Sub
errCancelCommon:
End Sub
Espero les sirva
[:], Yo si se lo que es trabajar duro, por que lo he visto.
http]
programacion
,
c
,
c++
,
C#
,
java
,
linux
,
videojuegos
,
directX
,
.NET
,
allegro
,
asm
,
codigo
NoSolocodigo
--> Blog de Articulos
ArKaNtOs
Miembro de PLATA
Mensajes: 1253
Nacionalidad:
Re: Cuantas Tablas Tiene La Base De Datos?
«
Respuesta #3 en:
Martes 18 de Octubre de 2005, 00:13 »
0
Thanx Widark
lo probare, espero me funcione
solocodigo
el punto de encuentro de los programadores
VB
,
C
,
C++
,
.Net
,
Java
,
Delphi
,
Linux
,
Programacion de Videojuegos
,
ASM
,
Dudas Informaticas
.
calosoft
Nuevo Miembro
Mensajes: 15
Re: Cuantas Tablas Tiene La Base De Datos?
«
Respuesta #4 en:
Martes 18 de Octubre de 2005, 22:54 »
0
gracias Widark, me salvaste de una, funciona el primer codigo, el segundo nu lo probe, te pasaste won
ArKaNtOs
Miembro de PLATA
Mensajes: 1253
Nacionalidad:
Re: Cuantas Tablas Tiene La Base De Datos?
«
Respuesta #5 en:
Jueves 20 de Octubre de 2005, 20:17 »
0
les agrego el code que dije que tenia
Código: Text
Private Sub EnumerarTablas()
Dim Db As Database
Dim Td As TableDef
List1.Clear
Set Db = OpenDatabase("D:\VB\Biblio.MDB")
For Each Td In Db.TableDefs
'Sólo las tablas con atributo igual a CERO,
'son tablas normales
If Td.Attributes = 0 Then
List1.AddItem Td.Name
End If
Next
Db.Close
Set Db = Nothing
End Sub
solocodigo
el punto de encuentro de los programadores
VB
,
C
,
C++
,
.Net
,
Java
,
Delphi
,
Linux
,
Programacion de Videojuegos
,
ASM
,
Dudas Informaticas
.
ArKaNtOs
Miembro de PLATA
Mensajes: 1253
Nacionalidad:
Re: Cuantas Tablas Tiene La Base De Datos?
«
Respuesta #6 en:
Jueves 20 de Octubre de 2005, 23:48 »
0
Perdon olvide incluir la fuente
sino diran que soy pirata jejeje, lo consegi en
El guille
solocodigo
el punto de encuentro de los programadores
VB
,
C
,
C++
,
.Net
,
Java
,
Delphi
,
Linux
,
Programacion de Videojuegos
,
ASM
,
Dudas Informaticas
.
Imprimir
Páginas: [
1
]
« anterior
próximo »
SoloCodigo
»
Foros
»
Programación General
»
Visual Basic 6.0 e inferiores
(Moderador:
F_Tanori
) »
Cuantas Tablas Tiene La Base De Datos?