Valores repetidos

Bueno veamos como me explico.
Tengo una base de datos con varios campos pero quiero que me calcule el valor de dos de ellos en un tercer campo y no me deje poner dos valores iquales en el tercer campo
Un ejemplo:
Tengo el campo: "Precio" = 5 y el "unidad"= 5 esto me lo suma en el campo "total"=10 y quiero que si pongo ahora n "Precio"= 7 y en "unidad" = 3 , en le campo "total" me advierta que el valor es repetido
Un saludo
Gracias por adelantado

1 Respuesta

Respuesta
1
¿Qué gestor de Base de datos estás utilizando(Access, SQL, ORACLE etc)?, ¿Utilizas una interfaz de programación para conectarte a la BD(VB, C#, VB. NET, WEB(PHP,ASP,ASP.NET)?
Puedes crear una vista(consulta) nueva donde agregues el campo nuevo con la suma de esos valores, y antes de realizar el insert en tu interfaz debes comparar si la suma que van a introducir no existe en esa consulta
Gracias por contestar tan rapido.
La base que uso es ACCESS .
Bueno creo que no puse clara mi consulta
El caso es que si consigo que en camplo "total" me sume los dos valores pero si pongo
un cuarto campo con la consulta el evento de la suma no funciona.
Te copio el programa que pongo para que no me deje poner dos valores iguales
pero un evento elimina a otro
Private Sub TOTAL_AfterUpdate()
Dim mireg As DAO.Recordset
Dim sql As String
If Not IsNull(Me![TOTAL]) Then
sql = "select * from [Nombre de la tabla] Where [TOTAL]=" & Me![TOTAL] & ";"
Set mireg = CurrentDb.OpenRecordset(sql)
If mireg.RecordCount > 0 Then
mireg.MoveLast
mireg.MoveFirst
MsgBox "ESTE TOTAL YA EXISTE EN LA TABLA", vbOKOnly + vbCritical, "ERROR EN DATOS"
Me![TOTAL]=""
Me![TOTAL].SetFocus
End If
End If
End Sub
Si pongo es no me hace la suma
Es pero que ahora me allá explicado mejor y perdona por el rollo.
Un saludo y gracias
Nunca he utilizado DAO, utilizo ADO así que necesito que me des más información, lo que me llama la atención es el evento_afterUpdate(ya después de que actualizó), ¿podrás decirme que tipo de control es TOTAL?.
Yo con ADO haría lo siguiente, tengo los 2 valores que se van a insertar 5 y 2(ya sea en un grid, text o no se que control utilizas), realizo la siguiente consulta ANTES de insertar o actualizar el registro tal como tu la haces.
sql = "select * from [Nombre de la tabla] Where [TOTAL]=" & Val(Text1) + Val(Text2) & ";"
Aquí abro el recordset
Verifico si tiene registros
Muestro el MSGBOX
Else
Realizo el insert a dicha tabla
sql = "Insert into [Nombre de la Tabla](Campos) Values(Nuevos Valores)
Espero tu respuesta, si gustas me puedes enviar el código y la BD a mi correo para revisarla y poderte ayudar.
[email protected]

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas