Visual Basic - como mover registro con MoveNext y MovePrevious

Life is soft - evento anual de software empresarial
 
Vista:

como mover registro con MoveNext y MovePrevious

Publicado por Oscar Ramos (2 intervenciones) el 09/04/2003 02:01:05
Como mover un registro con MoveNext y MovePrevious con SQL
yo tengo la busqueda de un registro por clave del cliente en un CommandButton, pero se me pide que se pueda mover hacia atras y adelante yo se que es con MoveNext y MovePrevious ya tiempos lo hice con visual basic 4.0 pero ya se me olvido y no tengo el código y haora es con visual basic 6.0 edicion empresarial y la conexion es ADO como puedo hacer .

Aqui esta el codigo que utilizo para la busqueda del codigo sin utilizar aun moveNext y MovePrevious.

Private Sub CmdFind_Click()

f_IDCLIENTE = TxtCodigo.Text
Set f_SQL2 = New ADODB.Recordset

f_SQL2.Open "SELECT * FROM [clientes] WHERE [codigo] = " & _
'" & TxtCodigo.Text & " ", AdoConexion, adOpenDynamic

If Not f_SQL2.EOF Then
TxtNombre.Text = f_SQL2![Nombre]
TxtApellidos.Text = f_SQL2![Apellido]
TxtIdentidad.Text = f_SQL2![Identidad]
TxtOcupacion.Text = f_SQL2![Ocupacion]
TxtRtn.Text = f_SQL2![Rtn]
TxtTrabajo.Text = f_SQL2![Trabajo]
DTPfContrato.Value = f_SQL2![Fecha Contrato]
DTPFechaFinal.Value = f_SQL2![Fecha Final Contrato]
f_CONYUGE = f_SQL2![Conyuge]
f_EMPRESA = f_SQL2![Empresa]
f_SEXO = f_SQL2![Sexo]
f_ESTADOCIVIL = f_SQL2![Estado Civil]
Else
MsgBox "REGISTRO NO ENCONTRADO ", vbInformation
End If

f_SQL2.Close
Set f_SQL2 = Nothing

End Sub
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 mover registro con MoveNext y MovePrevious

Publicado por Esteban (1144 intervenciones) el 09/04/2003 09:19:49
Primero te cuento que los paréntesis cuadrados [ ] no son necesarios, lo otro es que no veo donde estás utilizando el MoveNext o MoveLast, sin embargo, conociendo esas palabras me hace gracia que no lo hayas buscado en el MSDN, y si no lo tienes, solo agrégalas al recordset en cuestión.
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 mover registro con MoveNext y MovePrevious

Publicado por Yo el Pregunton No tengo MSDN (9 intervenciones) el 09/04/2003 23:26:14
cuando le asigno MoveNext al recorset en este caso es f_SQL2
f_SQL2.MoveNext primero busco un registro con un Where
luego preciono El boton que contiene f_SQL2.MoveNext bien se mueve al siguiente registro luego si buelbo a precionar no abansa la variable del recorset la e puesto por todos lados y nada

Aqui esta el codigo con Movenext en la variable que representa el record set

Private Sub CmdFind_Click()

f_IDCLIENTE = TxtCodigo.Text
Set f_SQL2 = New ADODB.Recordset

f_SQL2.Open "SELECT * FROM [clientes] WHERE [codigo] = " & _
'" & TxtCodigo.Text & " ", AdoConexion, adOpenDynamic

If Not f_SQL2.EOF Then
TxtNombre.Text = f_SQL2![Nombre]
TxtApellidos.Text = f_SQL2![Apellido]
TxtIdentidad.Text = f_SQL2![Identidad]
TxtOcupacion.Text = f_SQL2![Ocupacion]
TxtRtn.Text = f_SQL2![Rtn]
TxtTrabajo.Text = f_SQL2![Trabajo]
DTPfContrato.Value = f_SQL2![Fecha Contrato]
DTPFechaFinal.Value = f_SQL2![Fecha Final Contrato]
f_CONYUGE = f_SQL2![Conyuge]
f_EMPRESA = f_SQL2![Empresa]
f_SEXO = f_SQL2![Sexo]
f_ESTADOCIVIL = f_SQL2![Estado Civil]
Else
MsgBox "REGISTRO NO ENCONTRADO ", vbInformation
End If

f_SQL2.Close
Set f_SQL2 = Nothing

End Sub
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 mover registro con MoveNext y MovePrevious

Publicado por Yo el Pregunton No tengo MSDN (9 intervenciones) el 09/04/2003 23:28:31
cuando le asigno MoveNext al recorset en este caso es f_SQL2
f_SQL2.MoveNext primero busco un registro con un Where
luego preciono El boton que contiene f_SQL2.MoveNext bien se mueve al siguiente registro luego si buelbo a precionar no abansa la variable del recorset la e puesto por todos lados y nada

Aqui esta el codigo con Movenext en la variable que representa el record set

Private Sub CmdFind_Click()

f_IDCLIENTE = TxtCodigo.Text
Set f_SQL2 = New ADODB.Recordset

f_SQL2.Open "SELECT * FROM [clientes] WHERE [codigo] = " & _
'" & TxtCodigo.Text & " ", AdoConexion, adOpenDynamic

If Not f_SQL2.EOF Then

f_SQL2.MoveNext

TxtNombre.Text = f_SQL2![Nombre]
TxtApellidos.Text = f_SQL2![Apellido]
TxtIdentidad.Text = f_SQL2![Identidad]
TxtOcupacion.Text = f_SQL2![Ocupacion]
TxtRtn.Text = f_SQL2![Rtn]
TxtTrabajo.Text = f_SQL2![Trabajo]
DTPfContrato.Value = f_SQL2![Fecha Contrato]
DTPFechaFinal.Value = f_SQL2![Fecha Final Contrato]
f_CONYUGE = f_SQL2![Conyuge]
f_EMPRESA = f_SQL2![Empresa]
f_SEXO = f_SQL2![Sexo]
f_ESTADOCIVIL = f_SQL2![Estado Civil]
Else
MsgBox "REGISTRO NO ENCONTRADO ", vbInformation
End If

f_SQL2.Close
Set f_SQL2 = Nothing

End Sub

los corchetes es cuando en un campo de la base de datos lleva estacio por ejemplo Numero de dependientes iria [Numero de dependiente]
entoces ya me acostumbre que baya o no baya espacio siempre las dijito
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

Te recomiendo el MSDN

Publicado por Esteban (1144 intervenciones) el 10/04/2003 07:55:30
Te aconsejo que lo consigas el MSDN con alguien, un amigo, o compañero (estudio o trabajo, no sé cual es tu condición actual), es como el corazón para programar con VB, yo tengo varios años, y aún sigo consultándolo.

Veo que al precionar el botón, tienes que ejecutar un query que de traerá un recordset, lo que pasa es que tienes un ligero error, si la consulta traé datos, no es necesario mover al siguiente, el recordset por lo generar ya se sitúa en el primer registro (si hay), la validación (if) está bien, pero el MoveNext no creo que te sirva donde está.

Lo de los corchetes, fue que no ví que tenías espacios en blanco, pero lo recomendable es que no tengan espacio los campos de la BD de hecho eso es prácticamente un estándar (variables o campos de valores no pueden llevar espacio o caracteres especiales, aunque lo permitan), para eso se utilizan los Alias.

Espero te sirvan mis recomendaciones....Obviamente, si quieres seguirlas verás buenos resultados, pero si no, no pasa nada, solo puede que salgan más errores en el futuro.
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