AYUDA EN VISUAL BASIC 6.0 !!!

-angel-

Bovino adolescente
#1
Hola soy un estudiante de sistemas y estoy elaborando un proyecto en vb.
Ya lo termine nada mas tengo un pequeño error.
tengo una base de datos de acces en lasada a vb, en la cual desde vb puedo agregar o borrar datos de el, pero el error es en el boton agregar, si agrega muy bien pero el problema es cuando agrego un dato repetido, osea si agrego, el nombre angel si lo guarda pero si despues buelbo agregar el nombre angel ya no medeja segir.


el codigo del boton.

Private Sub cmdagregar_Click()
Data1.Recordset.AddNew
Text1.SetFocus
End Sub


ojala me puedan ayudar.



MUCHAS GRACIAS PROBLEMA SOLUCIONADO
 

Zephyros

Bovino de la familia
#2
Si tienes un solo campo para el valor "Nombre" (sin incluír apellidos), entonces es correcto que no te deje agregar más datos, eso causaría problemas en la BD, ya que no debe contener datos duplicados.
 

ethush

Bovino maduro
#3
Podrías agregar una función de busqueda de el nombre de usuario antes de que insertes la información, así le das mayor funcionalidad a tu programa y concuerdo Zephyros "...no deben existir datos duplicados..."
 
#4
PUES CAMARADA YO TE RECOEMDARIA QUE tu codigo de boton lo pusieras de la sigiente forma:

Private Sub CMDGUARDAR_Click()
CONEXION.Execute "INSERT INTO AMIGOS VALUES('" & TXTnombre.Text & "')", , adCmdText

MsgBox " SE HAN ALMACENADO LOS DATOS", vbInformation, "AVISO"

TXTnombre.Text = ""

End Sub

***claro con su correspondiente conexion:

Public CONEXION As ADODB.Connection
Public TABLA As ADODB.Recordset

bien se sabe que es con e emtodo de ADOC de Open, ACDB de OLDB,espero te sirva saludos.
 

galactico_supremo

Bovino adolescente
#5
antes de insertar primero haz una busqueda en tu base de datos para ver si el dato que intentas ingresar esta repetido, supongo que tienes como llave a el campo de nombre, es por eso que te genera ese error, si quieres que tu proyecto acepte nombres repetidos, entonces deberias de agregar un campo llave que se llame clave, y quitar el campo nombre como llave, de esta forma tendrias muchos nombres repetidos pero con diferentes claves... saludos
 

Giovanni924

Bovino de alcurnia
#6
has de tener en la BD como primary key el nombre y por eso no podes ingresar otro nombre igual. pone en la BD un Id autoincremental para que podas agregar o podes poner un id que ingreses tu mismo como tu desees asi te serviria segun veo no es error sino que es la seguridad de la BD
 
#7
Tu problema no es en si la aplicacion que desarrollaste sino la estructura de tu DB ya que como el carnal de arriba dijo, debes tener como ID el nombre, logico que un ID no puede ser repetido y a la hora de ingresar un nombre repetido la base de datos se bloquea. wachalol tu DB
 
#8
a mi me parece deprimente que alguien que esta terminando la carrera escriba con semejantes faltas de ortografía, pero en fin...
el problema es del diseño de la base de datos......
 

rodrigod

Bovino maduro
#10
2 cosas, en el código que ingresaste, lo que hacés es agregar un nuevo registro, asumo que tenés los controles enlazados y ya quedan los valores ingresados. La otra cosa es que no es tanto problema de clave primaria, en realidad depende de si definieste el nombre como clave primaria o no, sino más bien de que si el campo del nombre no es pk, al crear dicho campo en las propiedades en la parte del índice le indiques "sí (con repetidos)", ojo, repito, siempre y cuando no sea Primary Key. Suerte
 
Arriba