Access - como leer campo de un RecordSet

 
Vista:
sin imagen de perfil

como leer campo de un RecordSet

Publicado por Rosy (6 intervenciones) el 24/07/2008 23:16:37
En el objeto modulo de una base de datos me hice una pequeña consulta que involucra dos tablas y luego genero una tercera tabla, pero me sale un error cuando intento acceder a una columna del select cuyo campo esta en las dos tablas.

por ejemplo:

Sub Consulta
Dim rst as Recordset

sql = "select * from pais as p, ciudad as c where p.codigo = c.codigo"
rst = dbs.OpenRecordset(xsql)

varcod = rst!codigo ----> aqui me aparece el error, el campo codigo esta en las dos tablas, pais y ciudad, no sé como lo tengo que rescatar ya que el campo se llama codigo ¿sera por el alias? y entonces como deberia hacer la referencia al campo codigo?

gracias por cualquier ayuda.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:como leer campo de un RecordSet

Publicado por pacopaz (50 intervenciones) el 24/07/2008 23:20:36
No es la mejor forma de programar, pero no me pondré a discutir que es lo que requieres buscar de esa consulta y la necesidad de especificar exactamente los campos que requieres, no sólo para que no te pase esto, sino para hacer aplicaciones con mejor desempeño.

Lo que puedes intentar es esto:

sql = "select p.codigo as codigop, p.*, c.* from pais as p, ciudad as c where p.codigo = c.codigo"
rst = dbs.OpenRecordset(sql)

varcod = rst!codigop

Espero que te sirva.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:como leer campo de un RecordSet

Publicado por Rosy (6 intervenciones) el 25/07/2008 15:56:16
Gracias por responder, en realidad se me habia pasado por la mente incluir los campos en el select, pero no lo queria hacer porque son muchos campos, pero si no hay otra alternativa....................habrá que hacerlo!!!

Gracias
Rosy
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:como leer campo de un RecordSet

Publicado por kaditano (15 intervenciones) el 25/07/2008 15:55:41
Leer un a tabla "GAD GPFIC01" y crear otra "Control entradas"

Option Compare Database
Option Explicit

Function ControlNavantia() As String

Dim GesperDB As Database
Dim GPFIC01 As Recordset
Dim PLANTILLA As Recordset
Set GesperDB = DBEngine.Workspaces(0).Databases(0)
Set PLANTILLA = GesperDB.OpenRecordset("Control entradas")
Set GPFIC01 = GesperDB.OpenRecordset("GAD GPFIC01")
If Not PLANTILLA.EOF Then
PLANTILLA.MoveFirst
Do While Not PLANTILLA.EOF
PLANTILLA.Delete
PLANTILLA.MoveNext
Loop
End If
GPFIC01.MoveFirst
Do While Not GPFIC01.EOF
If GPFIC01("GP01SITU") = "A" Or IsNull(GPFIC01("GP01SITU")) Then
PLANTILLA.AddNew
PLANTILLA("NFICHA") = GPFIC01("GP01NFIC")
PLANTILLA("NFIC") = Val(GPFIC01("GP01NFIC"))
PLANTILLA("NDNI") = GPFIC01("GP01NDNI")
PLANTILLA("NSOE") = GPFIC01("GP01NSOE")
PLANTILLA("FALT") = GPFIC01("GP01FALT")
PLANTILLA("OPERARIO") = Trim(GPFIC01("GP01APE1")) & " " & Trim(GPFIC01("GP01APE2")) & " " & Trim(GPFIC01("GP01NOMB"))
PLANTILLA.Update
End If
GPFIC01.MoveNext
Loop

GPFIC01.Close

End Function
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar