Visual Basic - AQUI UN FORMULARIO DE MANTENIMIENTO, PERO...

Life is soft - evento anual de software empresarial
 
Vista:

AQUI UN FORMULARIO DE MANTENIMIENTO, PERO...

Publicado por Eduardo Yuptón C (96 intervenciones) el 15/08/2005 18:25:59
HOL AMIGOS:

AQUI TENGO UN FORMULARIO DE MANTENIMIENTO PERO QUIERO TRABAJAR CON FOTOS.

CUANDO UTILIZO EL CONTROL DATA, LO HACE EXCELENTE

PERO ESTOY UTILIZANDO ADO Y NO ACTUALIZA LAS FOTOS

AYUDENME... CUAL SERA MI ERROR

EN EL MODULO:
Global Cn As ADODB.Connection
Global RsEmpleado As ADODB.Recordset

EN GENERAL (DECLARACIONES)
Dim r As String
Dim NUEVO As Boolean
Dim vcambios As Integer

Private Sub activarcontroles()
FrameDatos.Enabled = True
FrameBusca.Enabled = False
cmdnuevo.Enabled = False
cmdgrabar.Enabled = True
cmdcancelar.Enabled = True
cmdeditar.Enabled = False
cmdeliminar.Enabled = False
cmdimprimir.Enabled = False
cmdsalir.Enabled = False
cmdseleccionar.Enabled = True
cmdsinfoto.Enabled = True
cmdprimero.Enabled = False
cmdanterior.Enabled = False
cmdsiguiente.Enabled = False
cmdultimo.Enabled = False
End Sub

Private Sub desactivarcontroles()
FrameDatos.Enabled = False
FrameBusca.Enabled = True
cmdnuevo.Enabled = True
cmdgrabar.Enabled = False
cmdcancelar.Enabled = False
cmdeditar.Enabled = True
cmdeliminar.Enabled = True
cmdimprimir.Enabled = True
cmdsalir.Enabled = True
cmdseleccionar.Enabled = False
cmdsinfoto.Enabled = False
cmdprimero.Enabled = True
cmdanterior.Enabled = True
cmdsiguiente.Enabled = True
cmdultimo.Enabled = True
End Sub

Private Sub cmdanterior_Click()
RsEmpleado.MovePrevious
If RsEmpleado.BOF Then
cmdprimero.Enabled = False
cmdanterior.Enabled = False
cmdsiguiente.Enabled = True
cmdultimo.Enabled = True
RsEmpleado.MoveFirst
Else
cmdprimero.Enabled = True
cmdanterior.Enabled = True
cmdsiguiente.Enabled = True
cmdultimo.Enabled = True
End If
End Sub

Private Sub cmdbuscanombre_Click()
parambusca = 4
frmBuscarTrabajador.Show 1
End Sub

Private Sub cmdCancelar_Click()
desactivarcontroles
If NUEVO Then
RsEmpleado.CancelUpdate
End If
RsEmpleado.MoveFirst
vcambios = 1
End Sub

Private Sub cmdeditar_Click()
vcambios = 0
activarcontroles
End Sub

Private Sub cmdeliminar_Click()
Dim mensaje As String
If RsEmpleado.RecordCount = 0 Then
MsgBox "No hay Registros", 16, "No se Puede Eliminar"
Else
mensaje = "Está seguro de Eliminar el Trabajador" & Chr(13) & txtfotocheck.Text & "-" & txtnombre.Text
If MsgBox(mensaje, 36, "CUIDADO") = 6 Then
RsEmpleado.Delete
RsEmpleado.MovePrevious
If RsEmpleado.BOF Then
RsEmpleado.MoveNext
End If
If RsEmpleado.RecordCount = 0 Then
cmdeditar.Enabled = False
cmdeliminar.Enabled = False
FrameBusca.Enabled = False
End If
End If
End If
End Sub

Private Sub cmdgrabar_Click()
RsEmpleado.Update
desactivarcontroles
vcambios = 1
End Sub

Private Sub cmdnuevo_Click()
vcambios = 0
activarcontroles
RsEmpleado.AddNew
NUEVO = True
txtfotocheck.SetFocus
End Sub

Private Sub cmdprimero_Click()
RsEmpleado.MoveFirst
cmdprimero.Enabled = False
cmdanterior.Enabled = False
cmdsiguiente.Enabled = True
cmdultimo.Enabled = True
End Sub

Private Sub cmdsalir_Click()
RsEmpleado.Close
Set RsEmpleado = Nothing
Unload Me
End Sub

Private Sub cmdseleccionar_Click()
CommonDialog1.InitDir = App.Path & "\fotos\fotosbmp"
CommonDialog1.Filter = "Archivos de mapa de bit (*.bmp)|*.bmp"
CommonDialog1.ShowOpen
Image1.Picture = LoadPicture(CommonDialog1.FileName)
End Sub

Private Sub cmdsiguiente_Click()
RsEmpleado.MoveNext
If RsEmpleado.EOF Then
cmdprimero.Enabled = True
cmdanterior.Enabled = True
cmdsiguiente.Enabled = False
cmdultimo.Enabled = False
RsEmpleado.MoveLast
Else
cmdprimero.Enabled = True
cmdanterior.Enabled = True
cmdsiguiente.Enabled = True
cmdultimo.Enabled = True
End If
End Sub

Private Sub cmdsinfoto_Click()
Image1.Picture = LoadPicture("")
End Sub

Private Sub cmdultimo_Click()
RsEmpleado.MoveLast
cmdprimero.Enabled = True
cmdanterior.Enabled = True
cmdsiguiente.Enabled = False
cmdultimo.Enabled = False
End Sub

Private Sub Form_Load()
vcambios = 1
Set Cn = New ADODB.Connection
Set RsEmpleado = New ADODB.Recordset
Cn.Open "Provider=Microsoft.Jet.OLEDB.3.51;Data Source=" & App.Path & "\base.mdb"
RsEmpleado.Open "Select * from EMPLEADO order by NOMBRE", Cn, adOpenKeyset, adLockOptimistic
Set txtfotocheck.DataSource = RsEmpleado
Set txtnombre.DataSource = RsEmpleado
Set txtsueldo.DataSource = RsEmpleado
Set txtdireccion.DataSource = RsEmpleado
Set txtdnile.DataSource = RsEmpleado
Set txttelefono1.DataSource = RsEmpleado
Set txttelefono2.DataSource = RsEmpleado
Set txtfecnac.DataSource = RsEmpleado
Set Image1.DataSource = RsEmpleado
txtfotocheck.DataField = "FOTOCHECK"
txtnombre.DataField = "NOMBRE"
txtsueldo.DataField = "SUELDO"
txtdireccion.DataField = "DIRECCION"
txtdnile.DataField = "DNI_LE"
txttelefono1.DataField = "TELEFONO1"
txttelefono2.DataField = "TELEFONO2"
txtfecnac.DataField = "FEC_NACIM"
Image1.DataField = "FOTO"
If RsEmpleado.RecordCount = 0 Then
cmdeditar.Enabled = False
cmdeliminar.Enabled = False
FrameBusca.Enabled = False
Else
cmdeditar.Enabled = True
cmdeliminar.Enabled = True
FrameBusca.Enabled = True
End If
RsEmpleado.MoveFirst
End Sub

Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
Dim Msg
Msg = "No se puede cerrar la ventana" & Chr(13) & Chr(13) & "Primero debe GRABAR o CANCELAR los cambios"
If vcambios = 0 Then
MsgBox Msg, vbOKOnly + vbExclamation, Me.Caption
Cancel = True
End If
End Sub

Private Sub FrameDatos_DragDrop(Source As Control, X As Single, Y As Single)

End Sub

Private Sub txtbuscadnile_Click()
txtbuscafotocheck.Text = ""
End Sub

Private Sub txtbuscadnile_KeyPress(KeyAscii As Integer)
If (KeyAscii = 13) Then
numdocum = txtbuscadnile.Text
criterio = "DNI_LE='" & numdocum & "'"
RsEmpleado.Find criterio, , , 1
If RsEmpleado.EOF Then
MsgBox "No se encuentra el D.N.I. / L.E. Nº " & numdocum
If RsEmpleado.RecordCount > 0 Then
RsEmpleado.MoveFirst
End If
End If
End If
End Sub

Private Sub txtbuscafotocheck_Click()
txtbuscadnile.Text = ""
End Sub

Private Sub txtbuscafotocheck_KeyPress(KeyAscii As Integer)
If (KeyAscii = 13) Then
fotoc = txtbuscafotocheck.Text
criterio = "FOTOCHECK='" & fotoc & "'"
RsEmpleado.Find criterio, , , 1
If RsEmpleado.EOF Then
MsgBox "No se encuentra el Fotocheck Nº " & fotoc
If RsEmpleado.RecordCount > 0 Then
RsEmpleado.MoveFirst
End If
End If
End If
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

ES MUY DIFICIL... AYUDENME

Publicado por Eduardo Yuptón C (96 intervenciones) el 17/08/2005 19:45:31
HOL AMIGOS:

AQUI TENGO UN FORMULARIO DE MANTENIMIENTO PERO QUIERO TRABAJAR CON FOTOS.

CUANDO UTILIZO EL CONTROL DATA, LO HACE EXCELENTE

PERO ESTOY UTILIZANDO ADO Y NO ACTUALIZA LAS FOTOS

AYUDENME... CUAL SERA MI ERROR

EN EL MODULO:
Global Cn As ADODB.Connection
Global RsEmpleado As ADODB.Recordset

EN GENERAL (DECLARACIONES)
Dim r As String
Dim NUEVO As Boolean
Dim vcambios As Integer

Private Sub activarcontroles()
FrameDatos.Enabled = True
FrameBusca.Enabled = False
cmdnuevo.Enabled = False
cmdgrabar.Enabled = True
cmdcancelar.Enabled = True
cmdeditar.Enabled = False
cmdeliminar.Enabled = False
cmdimprimir.Enabled = False
cmdsalir.Enabled = False
cmdseleccionar.Enabled = True
cmdsinfoto.Enabled = True
cmdprimero.Enabled = False
cmdanterior.Enabled = False
cmdsiguiente.Enabled = False
cmdultimo.Enabled = False
End Sub

Private Sub desactivarcontroles()
FrameDatos.Enabled = False
FrameBusca.Enabled = True
cmdnuevo.Enabled = True
cmdgrabar.Enabled = False
cmdcancelar.Enabled = False
cmdeditar.Enabled = True
cmdeliminar.Enabled = True
cmdimprimir.Enabled = True
cmdsalir.Enabled = True
cmdseleccionar.Enabled = False
cmdsinfoto.Enabled = False
cmdprimero.Enabled = True
cmdanterior.Enabled = True
cmdsiguiente.Enabled = True
cmdultimo.Enabled = True
End Sub

Private Sub cmdanterior_Click()
RsEmpleado.MovePrevious
If RsEmpleado.BOF Then
cmdprimero.Enabled = False
cmdanterior.Enabled = False
cmdsiguiente.Enabled = True
cmdultimo.Enabled = True
RsEmpleado.MoveFirst
Else
cmdprimero.Enabled = True
cmdanterior.Enabled = True
cmdsiguiente.Enabled = True
cmdultimo.Enabled = True
End If
End Sub

Private Sub cmdbuscanombre_Click()
parambusca = 4
frmBuscarTrabajador.Show 1
End Sub

Private Sub cmdCancelar_Click()
desactivarcontroles
If NUEVO Then
RsEmpleado.CancelUpdate
End If
RsEmpleado.MoveFirst
vcambios = 1
End Sub

Private Sub cmdeditar_Click()
vcambios = 0
activarcontroles
End Sub

Private Sub cmdeliminar_Click()
Dim mensaje As String
If RsEmpleado.RecordCount = 0 Then
MsgBox "No hay Registros", 16, "No se Puede Eliminar"
Else
mensaje = "Está seguro de Eliminar el Trabajador" & Chr(13) & txtfotocheck.Text & "-" & txtnombre.Text
If MsgBox(mensaje, 36, "CUIDADO") = 6 Then
RsEmpleado.Delete
RsEmpleado.MovePrevious
If RsEmpleado.BOF Then
RsEmpleado.MoveNext
End If
If RsEmpleado.RecordCount = 0 Then
cmdeditar.Enabled = False
cmdeliminar.Enabled = False
FrameBusca.Enabled = False
End If
End If
End If
End Sub

Private Sub cmdgrabar_Click()
RsEmpleado.Update
desactivarcontroles
vcambios = 1
End Sub

Private Sub cmdnuevo_Click()
vcambios = 0
activarcontroles
RsEmpleado.AddNew
NUEVO = True
txtfotocheck.SetFocus
End Sub

Private Sub cmdprimero_Click()
RsEmpleado.MoveFirst
cmdprimero.Enabled = False
cmdanterior.Enabled = False
cmdsiguiente.Enabled = True
cmdultimo.Enabled = True
End Sub

Private Sub cmdsalir_Click()
RsEmpleado.Close
Set RsEmpleado = Nothing
Unload Me
End Sub

Private Sub cmdseleccionar_Click()
CommonDialog1.InitDir = App.Path & "\fotos\fotosbmp"
CommonDialog1.Filter = "Archivos de mapa de bit (*.bmp)|*.bmp"
CommonDialog1.ShowOpen
Image1.Picture = LoadPicture(CommonDialog1.FileName)
End Sub

Private Sub cmdsiguiente_Click()
RsEmpleado.MoveNext
If RsEmpleado.EOF Then
cmdprimero.Enabled = True
cmdanterior.Enabled = True
cmdsiguiente.Enabled = False
cmdultimo.Enabled = False
RsEmpleado.MoveLast
Else
cmdprimero.Enabled = True
cmdanterior.Enabled = True
cmdsiguiente.Enabled = True
cmdultimo.Enabled = True
End If
End Sub

Private Sub cmdsinfoto_Click()
Image1.Picture = LoadPicture("")
End Sub

Private Sub cmdultimo_Click()
RsEmpleado.MoveLast
cmdprimero.Enabled = True
cmdanterior.Enabled = True
cmdsiguiente.Enabled = False
cmdultimo.Enabled = False
End Sub

Private Sub Form_Load()
vcambios = 1
Set Cn = New ADODB.Connection
Set RsEmpleado = New ADODB.Recordset
Cn.Open "Provider=Microsoft.Jet.OLEDB.3.51;Data Source=" & App.Path & "\base.mdb"
RsEmpleado.Open "Select * from EMPLEADO order by NOMBRE", Cn, adOpenKeyset, adLockOptimistic
Set txtfotocheck.DataSource = RsEmpleado
Set txtnombre.DataSource = RsEmpleado
Set txtsueldo.DataSource = RsEmpleado
Set txtdireccion.DataSource = RsEmpleado
Set txtdnile.DataSource = RsEmpleado
Set txttelefono1.DataSource = RsEmpleado
Set txttelefono2.DataSource = RsEmpleado
Set txtfecnac.DataSource = RsEmpleado
Set Image1.DataSource = RsEmpleado
txtfotocheck.DataField = "FOTOCHECK"
txtnombre.DataField = "NOMBRE"
txtsueldo.DataField = "SUELDO"
txtdireccion.DataField = "DIRECCION"
txtdnile.DataField = "DNI_LE"
txttelefono1.DataField = "TELEFONO1"
txttelefono2.DataField = "TELEFONO2"
txtfecnac.DataField = "FEC_NACIM"
Image1.DataField = "FOTO"
If RsEmpleado.RecordCount = 0 Then
cmdeditar.Enabled = False
cmdeliminar.Enabled = False
FrameBusca.Enabled = False
Else
cmdeditar.Enabled = True
cmdeliminar.Enabled = True
FrameBusca.Enabled = True
End If
RsEmpleado.MoveFirst
End Sub

Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
Dim Msg
Msg = "No se puede cerrar la ventana" & Chr(13) & Chr(13) & "Primero debe GRABAR o CANCELAR los cambios"
If vcambios = 0 Then
MsgBox Msg, vbOKOnly + vbExclamation, Me.Caption
Cancel = True
End If
End Sub

Private Sub FrameDatos_DragDrop(Source As Control, X As Single, Y As Single)

End Sub

Private Sub txtbuscadnile_Click()
txtbuscafotocheck.Text = ""
End Sub

Private Sub txtbuscadnile_KeyPress(KeyAscii As Integer)
If (KeyAscii = 13) Then
numdocum = txtbuscadnile.Text
criterio = "DNI_LE='" & numdocum & "'"
RsEmpleado.Find criterio, , , 1
If RsEmpleado.EOF Then
MsgBox "No se encuentra el D.N.I. / L.E. Nº " & numdocum
If RsEmpleado.RecordCount > 0 Then
RsEmpleado.MoveFirst
End If
End If
End If
End Sub

Private Sub txtbuscafotocheck_Click()
txtbuscadnile.Text = ""
End Sub

Private Sub txtbuscafotocheck_KeyPress(KeyAscii As Integer)
If (KeyAscii = 13) Then
fotoc = txtbuscafotocheck.Text
criterio = "FOTOCHECK='" & fotoc & "'"
RsEmpleado.Find criterio, , , 1
If RsEmpleado.EOF Then
MsgBox "No se encuentra el Fotocheck Nº " & fotoc
If RsEmpleado.RecordCount > 0 Then
RsEmpleado.MoveFirst
End If
End If
End If
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:ES MUY DIFICIL... AYUDENME

Publicado por Nuevo (1 intervención) el 19/08/2005 14:13:29
No es muy dificil solo que pones mucho codigo y nadie se va a tomar el tiempo de leerlo todo. Se mas concreto.
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:ES MUY DIFICIL... AYUDENME

Publicado por Eduardo YC (96 intervenciones) el 22/08/2005 16:46:25
HOLA AMIGOs:

NECESITO AYUDA PARA SABER COMO AGRAGAR O EDITAR FOTOS CON PROGRAMACION ADO. LO HE INTENTADO CON UNA BASE DE ACCESS CAMPO TIPO OLE.... LUEGO CON BASE DE DATOS SQL SERVER CAMPO TIPO BINARIO Y NADA.

AQUI TE ENVIO LA APLICACION COMPLETA QUE SI FUNCIONA PERO CON CONTROL DATA.

HE MIGRADO A ADO PERO NADA

www.geocities.com/sistemaseyc/arturo/arturo.zip

MUCHAS GRACIAS

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:ES MUY DIFICIL... AYUDENME

Publicado por Cecilia Colalongo (3117 intervenciones) el 22/08/2005 20:56:17
Fijate en http://www.mvps.org/vexpert/articles/adoImages.htm que tienes una forma de hacerlo. El campo en SQL Server debe ser de tipo Image.
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