Ayuda con DB

31/03/2005 - 18:52 por Ricardo Hdz. | Informe spam
Hola Grupo tengo este codigo que me trae informacion de
la db en Access, pero me trae todas las columnas de la
tabla. Este es el codigo, lo que yo ocupo es traer solo
algunas de las columnas, espero haberme dado a entender y
me puedan ayudar

Gracias..

Dim CodigoMoldura As String
CodigoMoldura = Sheets("Sheet1").Range("A19")
Set TargetRange = Cells(9, 5)
Set db = OpenDatabase("C:\Documents and
Settings\administrador\Desktop\GPonce\prueba.mdb")
Set rs = db.OpenRecordset("SELECT * FROM " & "Tabla1"
& _
" WHERE(tabla1.moldura = " & CodigoMoldura & ")" _
, dbReadOnly)
For intColIndex = 0 To rs.Fields.Count - 1
TargetRange.Offset(0, intColIndex).Value =
rs.Fields(intColIndex).Name
Next
' write recordset
TargetRange.Offset(1, 0).CopyFromRecordset rs
 

Leer las respuestas

#1 KL
01/04/2005 - 01:04 | Informe spam
Hola Ricardo,

Prueba el siguiente codigo modificando los valores de la matrizCampos segun
tus necesidades reales. El codigo no lo he probado, pero creo q deberia
funcionar.

Saludos,
KL

Sub test()
Dim CodigoMoldura As String
Dim TargetRange As Range
Dim Campos As Variant
Dim i As Integer, r As Long

Campos = Array(1, 2, 8, 11, 20)

CodigoMoldura = Sheets("Sheet1").Range("A19")
Set TargetRange = Cells(9, 5)
Set Db = OpenDatabase _
("C:\Documents and
Settings\administrador\Desktop\GPonce\prueba.mdb")
Set rs = Db.OpenRecordset("SELECT * FROM " & "Tabla1" & _
" WHERE(tabla1.moldura = " & CodigoMoldura & ")" _
, dbReadOnly)
Do While Not rs.EOF
r = r + 1
For i = LBound(Campos) To UBound(Campos)
On Error Resume Next
TargetRange.Offset.Cells(r, i).Formula = _
rs.Fields(Campos(i)).Value
On Error GoTo 0
Next i
rs.MoveNext
Loop
End Sub

Preguntas similares