border

Miembros:
Mensajes:
Temas:
Online:

Ultimo Miembro:

 
 


Retroceder   VB-MUNDO - Programacion Visual > Programacion - Lenguajes > Visual Basic 6.00
Registrarse FAQ Miembros Calendario Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
LinkBack Herramientas Desplegado
  #1 (permalink)  
Antiguo 07-10-2006, 04:20:24
Un Nuevo Amigo
 
Registrado: abr 2006
Posts: 14
vgm77 Valoración +2
Predeterminado identificar llave principal de una tabla por medio de ADOX

saludos foro estoy haciendo un programa que hace consultas a una base de datos de sql y necesito saber como identifico la llave principal de una tabla por medio del ADOX, este es el codigo que estoy usando:

Dim nombretabla As String
Dim Ct1 As New ADOX.Catalog
Dim Tb As ADOX.Table
Dim Cl As ADOX.Column

Dim fila As Integer
Set Ct1.ActiveConnection = conexion

For Each Tb In Ct1.Tables

If Tb.Name = nombretabla Then
Grid1.Cols = numtablas + 1
Grid1.Col = columna
Grid1.Row = 0
Grid1.Text = nombretabla
For Each Cl In Tb.Columns <--------------------
Grid1.AddItem Row
Grid1.Row = fila

Grid1.Text = Cl.Name <------------------
fila = fila + 1
Next Cl
fila = 1
End If

Next Tb

el codigo si funciona para lo que estoy haciendo (vacia los campos de las tablas), pero me falta identificar la llave principal, en donde se encuentran las flechas hay unos metodos "KEYS" y "KEY", no se si estos puedan servir para eso, si es asi, ¿como los puedo usar para sacar la llave principal de la tabla?,

cualquier idea, o ejemplo, o tutorial, o referencia que me puedan facilitar se los voy a agradecer mucho.
Responder Con Cita
  #2 (permalink)  
Antiguo 07-10-2006, 12:26:57
Buena Participación en el Foro
 
Registrado: mar 2006
Posts: 32
netman Valoración +2
Predeterminado

Hola VGM,

Por si no se te ha ocurrido hacerlo, puedes poner un msgbox a los campos de llave o pasarlos a una varibale para ver lo que contiene, porque a lo mejor simplemente tiene el valor de verdadero y falso y te puedes hacer una idea de como funcionan esos metodos.

Un saludo,

Juanma
Responder Con Cita
  #3 (permalink)  
Antiguo 08-10-2006, 04:09:51
Un Nuevo Amigo
 
Registrado: abr 2006
Posts: 14
vgm77 Valoración +2
Predeterminado

saludos foro, saludos netman, gracias por esta idea, no se me habia ocurrido, lo voy a intentar, efectivamente hice algunas pruebas trasteando con el adox y solo me sale verdadero o falso,

como estoy vaciando los campos aun grid necesito verificar cual es llave principal, hice otra prueba con "variable.key.count y tambien funciona pero me cuenta las llaves que hay en la tabla,

pondria un msgbox si supiera cuales son las llaves, y la cosa es identificar cuales son esas llaves para que vayan marcadas en rojo en el grid,

seguire trasteando con el adox, se que ando cerca pero no le he dado,

cualquier comentario o idea sera bienvenida netman,

gracias por la atencion que le den al presente post :smt001
Responder Con Cita
  #4 (permalink)  
Antiguo 08-10-2006, 21:19:05
Buena Participación en el Foro
 
Registrado: mar 2006
Posts: 32
netman Valoración +2
Predeterminado

Hola VGM,

Creo que es tu día de suerte, he encontrado por mi ordenador este código y puede que te sirva para preguntar por la clave en la base de datos.

Código:
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open("Provider = Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("\db.mdb"))

set rs = conn.execute("select * from tabla1")

set catalogo = CreateObject("ADOX.Catalog")
catalogo.ActiveConnection = conn
set tbl = catalogo.Tables("tabla1")
For Each indx In tbl.Indexes
If indx.PrimaryKey = True Then
For Each col In indx.columns
id = col.Name
Next
End If
Next
Un saludo,

Juanma
Responder Con Cita
  #5 (permalink)  
Antiguo 09-10-2006, 05:31:04
Un Nuevo Amigo
 
Registrado: abr 2006
Posts: 14
vgm77 Valoración +2
Predeterminado

saludos foro, saludos netman, el codigo que hiciste favor de proporcionarme es estupendo, esta muy bien, eso era lo que andaba buscando, identificar la clave principal de la tabla con el metodo indexes,

evaluando si es primarykey y luego que meta el nombre del campo en la variable, perfecto, no hay mas que decir, esto me cae de perlas, voy a trastear
con este codigo para adecuarlo a las variables que estoy manejando, pero esta solucionado,

muchisimas gracias por la ayuda, agradezco la atencion que recibi de parte tuya y de este foro, y espero seguir contando con su apoyo en posteriores post,

gracias.. :smt001
Responder Con Cita
  #6 (permalink)  
Antiguo 09-10-2006, 10:01:47
Buena Participación en el Foro
 
Registrado: mar 2006
Posts: 32
netman Valoración +2
Predeterminado

De nada,

Ha sido un placer.

Un saludo,

Juanma
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
Agregar filas a tabla por medio de un boton bonchita3110 ASP 0 11-09-2007 15:50:04
identificar el final de una tabla en access arodriguezp Visual Basic 6.00 2 26-10-2005 16:33:31
ADOX SQL_SERVER juaescis sql 2000 3 17-09-2004 01:00:00
Guardar la llave de un archivo ini en una variable aepe07 Visual Basic 6.00 1 11-03-1970 09:41:16
Identificar un registro de una tabla zambito Visual Basic 6.00 15 26-02-1970 01:47:49


La franja horaria es GMT. Ahora son las 20:30:41.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2008, 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