Visual Basic - Problemas al intentar agregar valores autonumerico

Life is soft - evento anual de software empresarial
   
Vista:

Problemas al intentar agregar valores autonumerico

Publicado por Juan (10 intervenciones) el 20/06/2009 07:26:34
hola mi problema es el siguiente: he creado un formulario para agregar ordenes de compras,cada orden tiene un codigo unico para que no se repitan y lo coloque autonumerico en la base de datos access2007.

La situacion es que al introducir los valores en un textbox (menos el codigo porque deberia agregarlo automaticamente) este me guarda a la base de datos menos el codigo,( y esto lo sé porque uso un datagrip que me muestra el contenido a la bd), obviamente me da un error de que la clave principal no debe tener valores nulos......

les dejo el codigo(en el codigo veran unos case solo hagan caso al 1)

Private Sub Command6_Click()

If Text1.Text = "" Then MsgBox ("Recuerde ingresar el nombre"), vbInformation, "Aviso": Text1.Text = "": Text1.SetFocus: Exit Sub

If Val(Text2.Text) = 0 Then MsgBox ("Debe ingresar la ci"), vbInformation, "Aviso": Text2.Text = "": Text2.SetFocus: Exit Sub

If Text3.Text = "" Then MsgBox ("Debe ingresar su direccion"), vbInformation, "Aviso": Text3.Text = "": Text3.SetFocus: Exit Sub

If Text4.Text = "" Then MsgBox ("Debe ingresar su rif"), vbInformation, "Aviso": Text4.Text = "": Text4.SetFocus: Exit Sub

If Text5.Text = "" Then MsgBox ("Recuerde ingresar su numero de telefono, solo con numeros"), vbInformation, "Aviso": Text5.Text = "": Text5.SetFocus: Exit Sub


With rs
Select Case cual 'determina si es agregar o modificar

Case 1 'ingresar
.Requery
.AddNew

Case 2 'modificar
rs.Update
invisible2
habilitar

Case 3 'eliminar
rs.Delete
rs.MoveFirst
End Select

If cual < 3 Then
rs!clienteodontologo = Text1.Text
rs!edadcliente = Val(Text2.Text)
rs!tipo = Text3.Text
rs!trabajo = Text4.Text
rs!obcervaciones = Text5.Text


.Update
.Requery

End If

Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Text4.Text = ""
Text5.Text = ""

/////////////////////////////////////////////////////////////////////////////////////////
este es el codigo hasta los momentos es el unico error que me da, aparte que es el mismo de varios form osea si soluciono este problema resuelvo los otros, he intentado muchas formas de hacerlo pero no han dado buenos resultados. espero haber sido explicito gracias
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:Problemas al intentar agregar valores autonumer

Publicado por Jaime guerrero (1 intervención) el 20/06/2009 20:55:47
es muy sencillo. Agrega lo siguiente:

System.Random rnd = new Random(DateTime.Now.Millisecond);

char[] Letras ={'0','1','2','3','4','5','6','7','8','9',
'a','b','c','d','e','f','g','h','i','j','k','l','m','n',
'o','p','q','r','s','t','u','v','w','x','y','z',
'A','B','C','D','E','F','G','H','I','J','K','L','M','N',
'O','P','Q','R','S','T','U','V','W','X','Y','Z'};
string strAlfanumericos = "";
for (int i = 0; i < 10; i++)
{
strAlfanumericos += Letras[rnd.Next(0, Letras.Length) - 1].ToString();
}
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:Problemas al intentar agregar valores autonumer

Publicado por El de la farola (2 intervenciones) el 21/06/2009 20:48:16
¿Que clase de estupidez le ha contestado Señor Guerrero?

¿En serio que un ignorante como usted se quiere hacer pasar por programador?
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:Problemas al intentar agregar valores autonumer

Publicado por Jaime guerrero (361 intervenciones) el 22/06/2009 18:42:24
dejen de escribrir tonterias a nombre de otro. Sean valientes y pongan su nombre.
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

tienes razon

Publicado por el feo (3 intervenciones) el 22/06/2009 18:52:57
estoy de acuerdo contigo, porque eres un valiente y lo digo en serio.
es que, la verdad, se necesita valor para atreverse a responder lo que tú "respondes" Ja Ja Ja Ja
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: problemas al intentar valores autonumericos

Publicado por Gabriel (1 intervención) el 22/06/2009 20:17:24
bueno en realidad quizas yo solo sea un novato en esto... pero por lo poco q se creo q seria mejor cambiar el codigo de autonemerico a texto en la base de datos... luego en visual colocar un contador y q cuando guarde el contador vaya sumando mas uno... tambien depende de q tipo de componente estes utilizando para conectar la base de datos a visual... espero q esto te sirva de algo o si no disculpa pero es la opcion q veo q sea mas favorable!!
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:Problemas al intentar agregar valores autonumer

Publicado por Jaime guerrero (361 intervenciones) el 22/06/2009 22:22:11
a mi parecer el problema va porque para abrir el recordset estas considerando el campo automumérico. Te aconsejo que trabajes de forma desconectada y que solo te conectes cuando sea necesario, ya que la forma como trabajas puede sobrecargar el uso de la memoria.

lo ideal seria:

- tener tu metodo de consulta

rs.open "select * from tabla", cn

if rs.eof =false then
' aca pones el codigo para llenar tu grilla
end if

rs.close
set rs=nothing
cn.close
set cn=nothing

- tu metodo de insercion

sql="insert into tabla (campo2, campo3, campo4) values('" & text1.text & "', '" & text1.text & "', '" & text1.text & "')"

'llamar a tu metodo abri conexio

cn.open sql

cn.close

set cn=nothing

dentro del sql de la insercion considereas todos tus campos menos el autonumérico.
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