Problema con recordset DAO
Tengo una base de datos en access 2007 con una tabla llamada clientes con los siguientes campos: Nombre(text), Apellido(Text) y Contrato(Datos adjuntos); y un formulario con:un cuadro combinado(cbonombre)que contiene los nombres del campo Nombre y un botón de comando.
He conseguido con en el evento hacer click del botón guardar los datos adjuntos en una carpeta que yo especifico mediante el siguiente código:
Dim db As Database
Dim rstAttachments As Recordset2
Dim strsearch As String
Dim fso As Scripting.FileSystemObject
Dim rstTable
Dim strFileAndPath
MkDir "C:\CarpetaTemporal"
strFileAndPath = "C:\CarpetaTemporal"
Set fso = CreateObject("scripting.fileSystemObject")
Set db = CurrentDb
Set rstTable = db.OpenRecordset("Clientes", dbOpenDynaset)
Do While Not rstTable.EOF
Set rstAttachments = rstTable.Fields("contrato").Value
With rstAttachments
Do While Not .EOF
.Fields("fileData").SaveToFile strFileAndPath
.MoveNext
Loop
.Close
End With
rstTable.MoveNext
Loop
RstTable. Close
El problema es que no quiero que me guarde todos los adjuntos sino solo aquellos que correspondan al Nombre indicado en cbonombredel formulario. Es decir, si en cbonombre=maría entonces sólo guarde los datos adjuntos de aquellos registros que tengan por Nombre maría.
Creo que debería hacerlo mediante una consulta o un filtro, pero no sé como realizarlo con recordset. Por cierto, estoy utilizando recordset DAO.
He conseguido con en el evento hacer click del botón guardar los datos adjuntos en una carpeta que yo especifico mediante el siguiente código:
Dim db As Database
Dim rstAttachments As Recordset2
Dim strsearch As String
Dim fso As Scripting.FileSystemObject
Dim rstTable
Dim strFileAndPath
MkDir "C:\CarpetaTemporal"
strFileAndPath = "C:\CarpetaTemporal"
Set fso = CreateObject("scripting.fileSystemObject")
Set db = CurrentDb
Set rstTable = db.OpenRecordset("Clientes", dbOpenDynaset)
Do While Not rstTable.EOF
Set rstAttachments = rstTable.Fields("contrato").Value
With rstAttachments
Do While Not .EOF
.Fields("fileData").SaveToFile strFileAndPath
.MoveNext
Loop
.Close
End With
rstTable.MoveNext
Loop
RstTable. Close
El problema es que no quiero que me guarde todos los adjuntos sino solo aquellos que correspondan al Nombre indicado en cbonombredel formulario. Es decir, si en cbonombre=maría entonces sólo guarde los datos adjuntos de aquellos registros que tengan por Nombre maría.
Creo que debería hacerlo mediante una consulta o un filtro, pero no sé como realizarlo con recordset. Por cierto, estoy utilizando recordset DAO.
Respuesta de Gomzky ..
1
1 respuesta más de otro experto
Respuesta de luis45ccs
1