border

Miembros:
Mensajes:
Temas:
Online:

Ultimo Miembro:

 
 

Cuenta Bancaria en EEUU
  #1 (permalink)  
Antiguo 26-11-2007, 20:46:16
Buena Participación en el Foro
 
Registrado: sep 2007
Posts: 88
Critical Error Valoración +2
Predeterminado Mejor forma de gestionar una base de datos ¿?

Muy buenas, en esta ocasión la duda que me corrompe después de algún tiempo haciendo diferentes pruebas es la siguiente: ¿Cual es la mejor forma, la más completa y la más potente de gestionar mediante código una base de datos Access 2003 desde VB6?
Está claro que no tengo unos conocimientos muy extensos, pero lo que yo pretendo es poder (aparte de acceder a cada tabla, registro para leer, escribir, etc.) ver las tablas y campos de una base de datos, crear un campo o tabla en cualquier momento, poder conectar a esta de cualquier forma (preferiblemente mediante ODBC), en fin... poder tener todo bajo control por código.
Usando DAO por ejemplo sí que se crear tablas, campos y verlo todo, pero no conectar mediante ODBC. Sin embargo mediante ADO se conectar con ODBC pero no crear tablas y campos, ni a partir de la base de datos ver que tablas y campos tiene.

Espero puedan orientarme. Saludos y gracias de antemano.
Responder Con Cita
  #2 (permalink)  
Antiguo 26-11-2007, 21:36:31
Gran Participación en el Foro
 
Registrado: oct 2004
Posts: 177
dagoba77 Valoración +2
Predeterminado

Hola

Bueno no se si yo debiera ser quien responda por que a mi los objetos de datos predefinidos no me gustan (ADO,DAO, etc..)

Pero recuerdo bien que estos objetos contienen en si las colecciones a todos los objetos que conforman tu base de datos

El objeto Ado contiene los objetos recordsets de tu base y el objeto recordsets contiene los campos (Fields) y el objeto Field contine el contenido de las celdas (Value) , ahora, el objeto ado tiene metodos (como cualquier Instancia..... o casi )
como el metodo Execute que sencillamente ejecuta las instrucciones SQL que se te ocurran con su infinidad de combinaciones (SELECT, SELECT INTO, CREATE TABLE, UPDATE , WHERE , LIKE , ORDER BY ") y cualquiera que sea capaz de ejecutar el mismo Acsses , si a final de cuentas tienes entre ADO o DAO para elegir , en sentido practico da casi igual


Saludos
__________________
voy aprendiendo , siempre
Responder Con Cita
  #3 (permalink)  
Antiguo 26-11-2007, 22:28:07
Buena Participación en el Foro
 
Registrado: sep 2007
Posts: 88
Critical Error Valoración +2
Predeterminado

Muchas gracias por tu respuesta dagoba77, "la cosa" es que como bien has dicho, el objeto ADO contiene los objetos recordsets que a su vez contiene los campos, etc., pero para eso hay que abrir una tabla previamente. Vamos, que en el caso de ADO, ¿como puedo averiguar las tablas contenidas en la BD?

Saludos.
Responder Con Cita
  #4 (permalink)  
Antiguo 26-11-2007, 22:41:38
Gran Participación en el Foro
 
Registrado: oct 2004
Posts: 177
dagoba77 Valoración +2
Predeterminado

Código:
dim Tabla


for each tabla in ado.recordset

msgbox tabla.name
next


Saludos
__________________
voy aprendiendo , siempre
Responder Con Cita
  #5 (permalink)  
Antiguo 26-11-2007, 22:58:05
Buena Participación en el Foro
 
Registrado: sep 2007
Posts: 88
Critical Error Valoración +2
Predeterminado

Mmmm, tengo asi definida la conexion:
Código:
Dim Con As ADODB.Connection
Dim Tabl As ADODB.Recordset
¿Que se supone que es el objeto ado al que haces referencia? En mi caso... ¿Con? porque me da error ya que no existe la propiedad recordset para ese objeto :smt017

No entiendo tu codigo. Saludos y gracias.
Responder Con Cita
  #6 (permalink)  
Antiguo 27-11-2007, 00:49:07
Gran Participación en el Foro
 
Registrado: oct 2004
Posts: 177
dagoba77 Valoración +2
Predeterminado

Perdon por la tardanza efectivamente estube probando con las instancias y no puedo encontrar la coleccion referida , en dao es facil

Código:
dim MiBase as database
Dim MIrecord as recordset

dim t

for each t in Mibase.Recordsets 

msgbox t.name

next
Ha eso me referia con el codigo de antes , sin embargo es curioso que el control Adodc1 si tenga una coleccion de recordsets si lo agregas a algun proyecto, lo que seguramente significa que ADo efectivamente contiene la susodicha coleccion, lamentablemente desconosco como referirme a ella, pero seguramente alguien por aqui nos sacara de la duda pronto , aun asi prometo estudiar un poco mas para tratar de enmendar mi error lo antes posible



Saludos
P.S. Por eso no uso dao


editado : perdon pere deje el codigo incompletisimo
Código:
dim MiBase as database
Dim MIrecord as recordset

set Mibase = opendatabase(<"Aqui la direccion de tu base>")


dim t

for each t in Mibase.Recordsets 

msgbox t.name

next
Ahora si debe funcionar

Saludos
__________________
voy aprendiendo , siempre
Responder Con Cita
  #7 (permalink)  
Antiguo 27-11-2007, 02:47:25
Buena Participación en el Foro
 
Registrado: sep 2007
Posts: 88
Critical Error Valoración +2
Predeterminado

Correcto, en DAO es asi de facil, pero el tema seria, o encontrar como conectar a la base de datos en DAO mediante ODBC a traves del nombre del DNS o poder encontrar la coleccion de tablas o una manera de gestionar "al completo" la base de datos (como puedo hacer en DAO) con ADO.

Saludos y muchas gracias por tu tiempo y preocupacion sobre el tema.
Responder Con Cita
  #8 (permalink)  
Antiguo 27-11-2007, 05:50:18
Gran Participación en el Foro
 
Registrado: oct 2004
Posts: 177
dagoba77 Valoración +2
Predeterminado

Bueno ahora si que deveras "de nada" por que no creo haber sido de gran ayuda, sin embargo espero que alguna mente maestra, de esas que abundan por aqui, pronto nos de alguna pista, por que francamente yo mismo ya me encuentro intrigado


Saludos y hasta pronto
__________________
voy aprendiendo , siempre
Responder Con Cita
  #9 (permalink)  
Antiguo 30-11-2007, 19:27:31
Buena Participación en el Foro
 
Registrado: sep 2007
Posts: 88
Critical Error Valoración +2
Predeterminado

Bueno, suponiendo que no hay coleccion de tablas en ADO y no se puede conectar mediante ODBC al DNS de una BD con DAO, ¿que forma es mejor para acceder a una BD?
Por lo menos para sacar algo en claro de este post... jeje.

Saludos.
Responder Con Cita
Respuesta


Herramientas
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Trackbacks are habilitado
Pingbacks are habilitado
Refbacks are habilitado


Temas Similares
Tema Autor Foro Respuestas Último Mensaje
acceso a base de datos de forma simultanea? iratxe_83 Visual Basic 6.00 5 30-11-2007 07:47:16
Mejor forma de hacer aplicaciones multilingues? maxonico Visual Basic.NET 2003 & 2005 0 22-06-2007 20:31:48
Gestionar Líneas de Pedidos y Calendario netman Visual Basic 6.00 6 08-10-2006 21:12:23
Presentar datos de forma Jerarquica Insomnia17 Visual Basic 6.00 6 08-03-2006 13:37:33
La mejor base de datos¿? dares_ Visual Basic 6.00 1 18-08-2005 07:32:13


La franja horaria es GMT. Ahora son las 19:03:27.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO 3.1.0
A vBSkinworks Design

Alojado en el servicio Premium de Masquewebs | Diseño mejorado por MasqueWebs

right