Visual Basic - ayuda por favor recordset

Life is soft - evento anual de software empresarial
 
Vista:

ayuda por favor recordset

Publicado por indomable (1 intervención) el 30/04/2008 19:57:19
tengo una base d edatos en SQl Server y mediante avisual Basic tengo un formulario relacionado con una coneccion y recordset programado por el usuario. necesito programar los botones para el formulario y no me funcionan el de guardar y el de eliminar.

'db es la coneccion de la base de datos
'rs es el recordset.
Dim db As ADODB.Connection
Dim Rs As ADODB.Recordset
Dim constrinG As String

Private Sub Form_Load()
Set db = New ADODB.Connection
Set Rs = New ADODB.Recordset

Rem para la coneccion a la base de datos
constrinG = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=Ferreteria_Americana;Data Source=L14-PC-31"
db.Open constrinG
db.CursorLocation = adUseClient

If Rs.State = 1 Then Rs.Close
Rs.Open "select * from Empleado", db, adOpenDynamic, adLockBatchOptimistic
If Not (Rs.BOF And Rs.EOF) Then
Rs.MoveFirst
Text1.Text = Rs.Fields("Id_Empleados")
Text2.Text = Rs.Fields("nombre")
Text3.Text = Rs.Fields("Apellido")
Text4.Text = Rs.Fields("Cedula")
Text5.Text = Rs.Fields("Sexo")
Text6.Text = Rs.Fields("Edad")
Text7.Text = Rs.Fields("Direccion")
Text8.Text = Rs.Fields("Telefono")
Text9.Text = Rs.Fields("Fecha_Nacimiento")
Text10.Text = Rs.Fields("Salario")
End If
End Sub

Private Sub cmdagregar_Click()
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Text4.Text = ""
Text5.Text = ""
Text6.Text = ""
Text7.Text = ""
Text8.Text = ""
Text9.Text = ""
Text10.Text = ""
Text1.SetFocus
End Sub

Private Sub cmdanterior_Click()
If Not Rs.BOF Then Rs.MovePrevious
If Rs.BOF And Rs.RecordCount > 0 Then
Beep
Rs.MoveFirst
Text1.Text = Rs.Fields("Id_Empleados")
Text2.Text = Rs.Fields("nombre")
Text3.Text = Rs.Fields("Apellido")
Text4.Text = Rs.Fields("Cedula")
Text5.Text = Rs.Fields("Sexo")
Text6.Text = Rs.Fields("Edad")
Text7.Text = Rs.Fields("Direccion")
Text8.Text = Rs.Fields("Telefono")
Text9.Text = Rs.Fields("Fecha_Nacimiento")
Text10.Text = Rs.Fields("Salario")
End If
End Sub

Private Sub cmdeliminar_Click()
Rs.Delete
Text1.Text = Rs.Fields("Id_Empleados")
Text2.Text = Rs.Fields("nombre")
Text3.Text = Rs.Fields("Apellido")
Text4.Text = Rs.Fields("Cedula")
Text5.Text = Rs.Fields("Sexo")
Text6.Text = Rs.Fields("Edad")
Text7.Text = Rs.Fields("Direccion")
Text8.Text = Rs.Fields("Telefono")
Text9.Text = Rs.Fields("Fecha_Nacimiento")
Text10.Text = Rs.Fields("Salario")
Rs.MoveNext
End Sub

Private Sub cmdguardar_Click()
Rs.UpdateBatch adAffectAllChapters
Text1.Text = Rs.Fields("Id_Empleados")
Text2.Text = Rs.Fields("nombre")
Text3.Text = Rs.Fields("Apellido")
Text4.Text = Rs.Fields("Cedula")
Text5.Text = Rs.Fields("Sexo")
Text6.Text = Rs.Fields("Edad")
Text7.Text = Rs.Fields("Direccion")
Text8.Text = Rs.Fields("Telefono")
Text9.Text = Rs.Fields("Fecha_Nacimiento")
Text10.Text = Rs.Fields("Salario")
Rs.MoveLast
End Sub

Private Sub cmdsiguiente_Click()
If Not Rs.EOF Then Rs.MoveNext
If Rs.EOF And Rs.RecordCount > 0 Then
Beep
Rs.MoveLast
Text1.Text = Rs.Fields("Id_Empleados")
Text2.Text = Rs.Fields("nombre")
Text3.Text = Rs.Fields("Apellido")
Text4.Text = Rs.Fields("Cedula")
Text5.Text = Rs.Fields("Sexo")
Text6.Text = Rs.Fields("Edad")
Text7.Text = Rs.Fields("Direccion")
Text8.Text = Rs.Fields("Telefono")
Text9.Text = Rs.Fields("Fecha_Nacimiento")
Text10.Text = Rs.Fields("Salario")
End If
End Sub

por favor lo más rapido que se pueda, y le agreceria aquien me pueda ayudar?
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:ayuda por favor recordset

Publicado por jaime (7 intervenciones) el 30/04/2008 21:16:09
Lo mejor es que reemplaces tu codigo por SQL. de esa manera es mas eficiente .
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:ayuda por favor recordset

Publicado por el de la (21 intervenciones) el 30/04/2008 21:22:43
En el boton guardar no es al reves ¿?

Rs.Fields("Id_Empleados") = Text1.Text
Rs.Fields("nombre") = Text2.Text
....

Asi no era?, hicieron bien en recomendarte el SQL pues el INSERT INTO lo veras SIEMPRE.
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