Visual Basic - Si el dato que intento agregar ya existe entonces..

Life is soft - evento anual de software empresarial
 
Vista:
Imágen de perfil de Nacho

Si el dato que intento agregar ya existe entonces..

Publicado por Nacho (10 intervenciones) el 03/02/2016 19:59:40
Necesito hacer que si agrego un dato que ya existe en un campo dea acces, entonces no me haga un insert en ese campo sino un update.

Ejemplo:
Tengo la tabla Productos con los campos

Nombre: Chocolate
Codigo:13221
Stock:10


y yo intento agregar Nombre:Chocolate
Codigo: 13221
Stock:5
Entonces la tabla no me inserte ese dato de nuevo, sino que el dato stock, se sume con el dato previamente agregado, entonces quedaría:

Nombre: Chocolate
Codigo:13221
Stock:15
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
sin imagen de perfil

Si el dato que intento agregar ya existe entonces..

Publicado por omar (8 intervenciones) el 03/02/2016 20:11:27
realiza un count del articulo y almacena la cantidad en una variable

suma lo que ingresas al que trae count

actualizas el registro
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
sin imagen de perfil

Si el dato que intento agregar ya existe entonces..

Publicado por JUAN (32 intervenciones) el 04/02/2016 04:40:37
porque no usas una consulta
SELEC * FROM tabla WHERE campo ='" & txt.text & "" mas condiciones stock por ejemplo verificar que exista luego usas condiciones if es decir si existe entonces
1
2
3
4
5
If existe=si then
'Update porque existe
Else
'Insert porque no existe
end if

Asi es como yo lo hago
saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Nacho

Si el dato que intento agregar ya existe entonces..

Publicado por Nacho (10 intervenciones) el 04/02/2016 13:10:47
Como verificao que exista?
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
Imágen de perfil de Wilfredo Patricio Castillo
Val: 8
Ha aumentado su posición en 9 puestos en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Si el dato que intento agregar ya existe entonces..

Publicado por Wilfredo Patricio Castillo (260 intervenciones) el 04/02/2016 19:32:35
Como ya sabes hacer consultas y todo el asunto, entonces solo te diré esto:

Rst.Open "Select IdProducto From Productos Where IdProducto=Cint(' " 13221 & ")'",Laconexion,otrosparametros que no recuerdo
if Rst.RecordCount>0 then

---Existe, haces el update
else
-----No existte haces el insert
endif

Eso si es vb6.0

Saludos cordiales,
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
Imágen de perfil de Nacho

Si el dato que intento agregar ya existe entonces..

Publicado por Nacho (10 intervenciones) el 06/02/2016 16:28:36
Uso visual studio 2013
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
Imágen de perfil de Wilfredo Patricio Castillo
Val: 8
Ha aumentado su posición en 9 puestos en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Si el dato que intento agregar ya existe entonces..

Publicado por Wilfredo Patricio Castillo (260 intervenciones) el 08/02/2016 18:51:04
Entonces eso es con un objeto command y con datareader:

1
2
3
4
5
6
7
8
9
10
11
12
dim comando=new OLEDBCommando
comando.commandtext="Select * From Productos Where IdProducto=@IdProducto"
comando.CommandType=CommandType.Text
comando.Connection=TuConexion_Aqui
comando.Parameters.Add("@IdProducto",OLEDBType.Integer).Value=Convert.ToInt32(txt.Text)
dim reader as OLEDBDataReader=comando.ExecuteReader
if reader.hasrows then
   ----Si encontró los datos y haces lo que necesites
else
    ----No exiten datos lanzas un mensaje o lo que necesites
Endif
reader.close
Y lo que te falte

Saludos cordiales,
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