actualizar un recorsed

Estrambotica
15 de Julio del 2004
rst10.Open "select cod_prod, descripcion from producto order by descripcion", dbcomp, adOpenStatic

ahora quiero q se actualice con esta consulta dependiendo de la cajas de textos cada vez q el usuario desee

"select cod_prov, NOM_prov from proveedor WHERE mid(NOM_prov,1," & letraa & ")= '" & Mid(Me.Text1, 1, letraa) & "'order by NOM_prov", dbcomp, adOpenStatic

ayuda plis!!!

Estrambotica
15 de Julio del 2004
Hola por fa aun no he conseguido como hacerlo me pueden ayudar plis!!!

semperfimxl
15 de Julio del 2004
Me parece que lo que pasa es que no esta muy claro que es lo que necesitas...

Si pudieras ampliar tu pregunta o el ejemplo, seguramente alguien podra ayudar...

Estrambotica
15 de Julio del 2004
La pregunta es la siguiente Q si yo abro un recorsetd con un parametro como lo actualizo si quiero hacer otra consulta pero sin cerrarlo
Ejemplo inicialmente tengo esta selecion y despues quiero cambiar la SELECCION A otra seleccion.
rst10.Open "select cod_prod, descripcion from producto order by descripcion", dbcomp, adOpenStatic

a este otro

"select cod_prov, NOM_prov from proveedor WHERE mid(NOM_prov,1," & letraa & ")= '" & Mid(Me.Text1, 1, letraa) & "'order by NOM_prov",

tecniCam
15 de Julio del 2004
Creo que puedes abrir todas las que quieras sin cerrar la anterior, siempre que se llamen de distinta forma.

No sé si esto te valdrá:

Crea una dynaset con una condición de filtrado SQL
Crea una segunda dynaset después de asignar las propiedades de filtrado de la primera dynaset
'**********************
'Crea la dynaset inicial
'**********************
Dim OldDb As Database, NewDyn As Recordset, ScnDyn As Recordset
Dim OldWs As WorkSpace
Set OldWs = DBEngine.Workspaces(0)
Set OldDb = OpenDatabase("C:LAPERA.MDB")
Set NewDyn = OldDb.OpenRecordset("SELECT * FROM Clientes", dbOpenDynaset)
'*********************************
'Usa el método Find para buscar registros
'*********************************
NewDyn.FindFirst "Provincia = 'CO'"
Do Until NewDyn.NoMatch
NewDyn.FindNext "Provincia = 'CO'"
Loop
'*************************************************************
'Crea la segunda dynaset y usa el método Move para procesar registros
'*************************************************************
NewDyn.Filter = "Provincia = 'SA'"
Set ScnDyn = NewDyn.OpenRecordset()
ScnDyn.MoveFirst
Do Until ScnDyn.EOF
ScnDyn.MoveNext
Loop
'*******************************************************
'Crea una dynaset inicial con la cláusula Where y usa Move
'*******************************************************
Set NewDyn = OldDb.OpenRecordset("SELECT * FROM Clientes WHERE Provincia = 'SA'", dbOpenDynaset)
NewDyn.MoveFirst
Do Until NewDyn.EOF
NewDyn.MoveNext
Loop

'Dos métodos para crear una dynaset filtrada
'********************************************
Dim OldDb As Database, NewDyn As Recordset, ScnDyn As Recordset
Dim OldWs As WorkSpace
Set OldWs = DBEngine.Workspaces(0)
Set OldDb = OldWs.OpenDatabase("C:LAPERA.MDB")
'*******************************************************************
'El primer método establece la propiedad orden de una dynaset y crea una segunda desde la primera
'*******************************************************************
Set NewDyn = OldDb.OpenRecordset("SELECT * FROM Clientes")
NewDyn.Sort = "Apellidos, Nombre"
Set ScnDyn = NewDyn.OpenRecordset()
'*****************************************************
'El segundo método crea directamente la dynaset ordenada
'*****************************************************
Set ScnDyn = OldDb.OpenRecordset("SELECT * FROM Clientes ORDER BY Apellidos, Nombre")

'Uso de Edit y Update para cambiar los datos en el registro
'*********************************************************
'Uso del método Find para localizar el registro que se va a cambiar
'*******************************************************
NewDyn.FindFirst "Apellidos = 'Pérez López'"
'********************************************
'Comprobar la propiedad NoMatch para evitar un error
'********************************************
If NewDyn.NoMatch Then
MsgBox "No se encuentra"
Else
'****************************************************
'Uso del método Edit para establecer los cambios del registro
'****************************************************
NewDyn.Edit
'***************************************************
'Colocar la información necesaria en el buffer de copia
'***************************************************
NewDyn("Direccion") = "Apartado de Correos 3.872"
NewDyn("Ciudad") = "Badalona"
NewDyn("Provincia") = "Barcelona"
NewDyn("CP") = "08250"
'***********************************************************
'Uso del método Update para guardar los cambios en el Recordset
'***********************************************************
NewDyn.Update
End If

'Uso de Delete para borrar un registro en el Recordset
'*********************************************************
'Uso del método Find para localizar el registro que se va a cambiar
'******************************************************
NewDyn.FindFirst "Apellidos = 'Roseta Menéndez'"
'********************************************
'Comprobar la propiedad NoMatch para evitar un error
'********************************************
If NewDyn.NoMatch Then
MsgBox "No se encuentra"
Else
'******************************************
'Uso del método Delete para borrar el registro
'******************************************
NewDyn.Delete
End If