Access - item ya existe....que hago mal??

 
Vista:
sin imagen de perfil

item ya existe....que hago mal??

Publicado por mauricio serna (48 intervenciones) el 04/06/2003 16:48:22
Hola...en mi form quiero que me salga un mensaje cuando introduzco un dato que ya esta grabado , pero el mensaje es solo por informacion no quiero restringir la tabla ,esto es lo que hago pero siempre me saca el mensaje de THAT´S OK para cualquier dato que ingreso...espero me haya hecho entender

Private Sub id_producto_AfterUpdate()
Dim mcad As String
Dim mrs As Variant
mcad = "select * from REGISTROS_JABONES where ([ID_PRODUCTO]) =([id_producto])"
Set mrs = CurrentDb.OpenRecordset(mcad)
If mrs.RecordCount > 1 Then
MsgBox "CODIGO REPETIDO"
Else
MsgBox "THAT´S OK"
End If
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
Val: 14
Ha disminuido su posición en 29 puestos en Access (en relación al último mes)
Gráfica de Access

RE:item ya existe....que hago mal??

Publicado por Yamil Bracho (112 intervenciones) el 04/06/2003 17:05:41
Puedes usar mejor la funcion Dcount o usar un select count para contar cuantos registros tienen el mismo codigo. Seria algo como

mcad = "select COUNT(*) from REGISTROS_JABONES where ([ID_PRODUCTO]) =([id_producto])"
Set mrs = CurrentDb.OpenRecordset(mcad)
If mrs.Fields(0) > 1 Then
...

Tu codigo esta fallando porque nesesitas hacer algo como
mrs.MoveLast
lngRecs = mrs.RecordCount
mrs.MoveFirst

Aunque el codigo que te di al principio es mas apropiado

Saludos
Yamil
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

no me da...!!!

Publicado por mauricio serna (48 intervenciones) el 04/06/2003 21:27:25
My Friend , que pena sigue igual...tienes otra sugerencia ??
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
Val: 14
Ha disminuido su posición en 29 puestos en Access (en relación al último mes)
Gráfica de Access

RE:no me da...!!!

Publicado por Yamil Bracho (112 intervenciones) el 05/06/2003 17:07:25
El codigo final te quedaria como :

Private Sub id_producto_AfterUpdate()
Dim mcad As String
Dim mrs As DAO.Recordset

mcad = "select COUNT(*) from REGISTROS_JABONES where
ID_PRODUCTO =" & Me.id_producto
Set mrs = CurrentDb.OpenRecordset(mcad)
If mrs.Fields(0) <> 0 then
MsgBox "CODIGO REPETIDO"
Else
MsgBox "THAT´S OK"
End If

o haces lo siguiente en una sola linea
varX = DLookup("ID_PRODUCTO","REGISTROS_JABONES ",
"ID_PRODUCTO =" & Me.id_producto
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
Val: 14
Ha disminuido su posición en 29 puestos en Access (en relación al último mes)
Gráfica de Access

RE:no me da...!!!

Publicado por Yamil Bracho (112 intervenciones) el 05/06/2003 17:07:54
El codigo final te quedaria como :

Private Sub id_producto_AfterUpdate()
Dim mcad As String
Dim mrs As DAO.Recordset

mcad = "select COUNT(*) from REGISTROS_JABONES where
ID_PRODUCTO =" & Me.id_producto
Set mrs = CurrentDb.OpenRecordset(mcad)
If mrs.Fields(0) <> 0 then
MsgBox "CODIGO REPETIDO"
Else
MsgBox "THAT´S OK"
End If

o haces lo siguiente en una sola linea
varX = DLookup("ID_PRODUCTO","REGISTROS_JABONES ",
"ID_PRODUCTO =" & Me.id_producto )
if Not isNull(varX) Then
MsgBox" Ya existe"
Else
MsgBox "OK"
End If
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:item ya existe....que hago mal??

Publicado por Marco Santis (10 intervenciones) el 04/06/2003 22:34:09
No tengo como probarlo, pero puede funcionar

Private Sub id_producto_AfterUpdate()
Dim mcad As String
Dim mrs As Variant
mcad = "select * from REGISTROS_JABONES where ([ID_PRODUCTO]) =([id_producto])"
Set mrs = CurrentDb.OpenRecordset(mcad)
If not mrs.eof Then
MsgBox "CODIGO REPETIDO"
Else
MsgBox "THAT´S OK"
End If
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:item ya existe....que hago mal??

Publicado por Victoria (1530 intervenciones) el 05/06/2003 11:01:25
If mrs.RecordCount > 0
Usa CERO al contar, no UNO
Un saludo
Victoria
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

RE:nada de nada

Publicado por mauricio serna (48 intervenciones) el 05/06/2003 17:08:25
no...asi tampoco es,creo que para todos los valores que ingreso esta devolviendo 1 pues cuando pongo mrs.recordcount>0 me saca \"CODIGO REPETIDO\" y cuando pongo mrs.recordcount>1 me saca
\"THAT´S OK\"
he cambiado el tipo de variable pero tampoco...que me sugieren ???
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

RE:POR FIN...POR FIN..GRACIAS YAMIL/VICTORIA/MARCO

Publicado por mauricio serna (48 intervenciones) el 05/06/2003 17:25:29
Sres.muchas gracias ...ahora si le dimos donde era con el Dlookup
Saludos
Mauricio Serna
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