Access - Error al buscar

   
Vista:

Error al buscar

Publicado por Marcos (236 intervenciones) el 17/11/2008 20:39:22
Hola a todos del foro.
En un formulario en el evento después de actualizar de un Textbox llamado "Buscado" tengo el sgte. código para buscar un registro existente:

DoCmd.RunCommand acCmdUndo
If Me.Buscado.Value <> " " Then
DoCmd.GoToRecord acDataForm, "Pedidos", acPrevious
DoCmd.ShowAllRecords ' muestra todos los registros de la tabla
DoCmd.GoToControl ("NroFolio") ' mi primer registro en el formulario
DoCmd.FindRecord Me.Buscado.Value ' y busca el dato tecleado
End If

Cuando abro el formulario está posicionado en un nuevo registro (formulario en blanco), tecleo el dato a buscar y funciona perfectamente y me aparecen en el formulario todos los campos llenos del registro buscado.

El problema es cuando quiero buscar un nuevo registro (ahora el formulario está lleno con los datos del registro que acaba de encontrar) y me aparece el sgte. mensaje de error " La acción o comando 'Deshacer' no está disponible ahora " y al depurarlo se detiene en DoCmd.RunCommand acCmdUndo.

Esto último tengo que ponerlo para que me haga el efecto de la tecla Esc, de lo contrario el código no me funciona y me arroja otro error.

Alguna sugerencia ??

Marcos
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:Error al buscar

Publicado por mi menda (1111 intervenciones) el 18/11/2008 02:15:57
Hola
Hay una cosa que no entiendo, sí primero deshaces los cambios, Me.Buscado siempre sería = " ", a no ser que haya diferencias entre DoCmd.RunCommand acCmdUndo y Me.Undo, cosa que no sé, porque siempre utilizo este último. Y dices que te búsca el dato correctamente, o sea ¿No te deshace el dato introducido en: Buscado?
¿o es eso lo que buscas?, sí estas en un nuevo registro, mostrar todos y luego realizar la búsqueda
Según dices sí estas en un nuevo registro funciona correctamente, así que prueba con esto a ver sí hay suerte..

if NewRecord Then
DoCmd.RunCommand acCmdUndo
end if

If Me.Buscado.Value <> " " Then
DoCmd.GoToRecord acDataForm, "Pedidos", acPrevious
DoCmd.ShowAllRecords ' muestra todos los registros de la tabla
DoCmd.GoToControl ("NroFolio") ' mi primer registro en el formulario
DoCmd.FindRecord Me.Buscado.Value ' y busca el dato tecleado
End If

Un saludo.
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:Funciona ...Error al buscar

Publicado por Marcos (236 intervenciones) el 18/11/2008 12:54:16
Extraordinario como siempre, Mi Menda
Gracias. Funciona perfectamente.
Marcos
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