Visual Basic - ALGUIEN SABE COMO PUEDO SOLUCIONAR ESTO???????

Life is soft - evento anual de software empresarial
 
Vista:

ALGUIEN SABE COMO PUEDO SOLUCIONAR ESTO???????

Publicado por Daniel (34 intervenciones) el 07/10/2006 04:26:39
Hola a ver si me pueden ayudar con esto, tengo en la tabla clientes un campo estado, el cual puede tomar dos valores, activo y suspendido, hasta aca todo bien, pero en el formulario ventas, cuando el cliente tiene estado SUSPENDIDO, el programa me avisa el estado y puse un msgbox con vbyesno, al cual cuando le doy yes, me tiene que cerrar el formulario ventas y llevar al formulario de abm de clientes y mostrar todos los datos e inclusive permitirme modificar dicho cliente, el problema que estoy teniendo es q cuando lo hago de esta manera y quiero modificar me sale un error 3022 "los cambios solicitados a la tabla no se realizaron porque crearian valores duplicados...", paso esa parte del codigo para q vean
**************************************************************************************************************
If cliente!Estado = "SUSPENDIDO" Then
If MsgBox("El cliente: " & cliente!codigo & ", " & cliente!Apellido & " " & cliente!nombres & " tiene estado SUSPENDIDO, Desea ver los datos del cliente?", vbYesNo + vbInformation) = vbYes Then
Unload venta
abmclientes.Show
abmclientes.txtcodigo = cliente!codigo
abmclientes.txtapellido = cliente!Apellido
abmclientes.txtnombres = cliente!nombres
abmclientes.cmbtipo = cliente!TipoDocumento
abmclientes.txtnumdoc.Text = cliente!numdoc
abmclientes.txtdireccion.Text = cliente!Direccion
abmclientes.txtnro.Text = cliente!nro
abmclientes.txtbarrio.Text = cliente!Barrio
abmclientes.txttelefono.Text = cliente!telefono
abmclientes.txtcelular.Text = cliente!celular
abmclientes.txtfechaalta.Text = cliente!FechaAlta
abmclientes.txtfnacimiento.Text = cliente!fechaNac
abmclientes.txtobservaciones.Text = cliente!observaciones
abmclientes.optactivo.Visible = False
abmclientes.optsuspendido.Visible = False
abmclientes.lblestado.Visible = True
abmclientes.lblestado.Caption = socio.Fields("Estado")
If abmclientes.lblestado.Caption = "SUSPENDIDO" Then
abmclientes.lblestado.ForeColor = vbRed
abmclientes.lblestado.BackColor = vbYellow
Else
abmclientes.lblestado.ForeColor = &HFFFFFF
abmclientes.lblestado.BackColor = &H824100
End If
********************************************************************************************************
este codigo anda, solo q al abrir el formulario abmclientes y mostrarme los datos, no puedo actualizarlos.
No creo que sea error del formulario abmclientes xq cuando entro directamente a este, anda lo mas bien.
Muchas gracias, espero puedan contestar esto, cualquier duda o si no entienden bien mi pregunta y creen poder ayudarme, mi messenger es este mismo e-mail.
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 IMPOSIBLE!!!!!!!!!!!!!!!!!!!!

Publicado por JoSi (1 intervención) el 07/10/2006 23:41:26
con la cantidad de pelotazos que tenes en el codigo mas que codigo de programación parece el codigo da vinci
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:ALGUIEN SABE COMO PUEDO SOLUCIONAR ESTO???????

Publicado por csdk (127 intervenciones) el 11/10/2006 00:55:45
nada es imposible el error te lo da ya k en ningun momento estas actualizando el registro solo estas pasando informacion de un formulario a otro.....
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:ALGUIEN SABE COMO PUEDO SOLUCIONAR ESTO???????

Publicado por Edgardo (16 intervenciones) el 11/10/2006 03:11:49
Hay algo que no entiendo, porque pones esa parte del codigo si, según vos, no te tira error ahi, sino cuando modificas el cliente? creo que ese codigo esta bien, el problema es cuando modificas no? Bueno, tendría que ver el codigo donde te tira error, ademas hay que ver como tenes estructurada la base de datos. El error te dice que crearía valores duplicados, eso por lo general es porque intentas agregar en un campo que es clave un valor que ya existe, y como tiene que ser único no te deja, por ende tira ese error. Yo creo que ese sería el problema. Fijate. Saludos.
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:ALGUIEN SABE COMO PUEDO SOLUCIONAR ESTO???????

Publicado por Jorgito (42 intervenciones) el 11/10/2006 17:57:20
En esta parte solo estas consultando...... manda el codigo de modificar y guardar....pq aqui no hay error de repnte en vez de usar un edit estas usando un addnew y la clave principal la estas duplicando.... por eso dice que crearias valores duplicados..... manda lo demas q eso q mandastes no tiene nada q ver lo mas probable es que cuando le das guardar es q esta reventando........ no uses controles enlazafdosd............ usa codigo..................
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:ALGUIEN SABE COMO PUEDO SOLUCIONAR ESTO???????

Publicado por daniel (145 intervenciones) el 11/10/2006 18:07:28
proba poniendo las sentencias Unload venta
abmclientes.Show al final del resto del codigo, ya que haces referencia al recordset clientes despues del unload del formulario, puede que ahi tengas el problema. No se proba puede venir por el orden de las sentencias.
Saludos.
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

SOLUCION

Publicado por necro-air (77 intervenciones) el 11/10/2006 18:44:54
ncha!!:

Yo creo, y sin animo de molestar a nadie, que la solucion de esto esta en varias cosas:
1- Una cosa tan esencial sale en cualquier manual de programacion VB.
2- Si no tenemos manuales, en su defecto, usamos el que viene con el VB que sale muy claro, o nos bajamos uno de internet.
3- En el caso de no aclararnos y escribir en el foro, por lo menos pon la parte de codigo que falla. Porque esto es como si te pregunto si te gusta tal cancion y se hago escuchar otra (un ejemplo).
4- Ya que la gente pierde el tiempo en intentar adivinar tu pregunta, por lo menos ten la molestia de contestar a preguntas que pueden ayudar a resolver tu problema.

uff...(ya he tenido otro arrebato de ira...)
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