Record validation rule is violated

11/12/2004 - 19:11 por Rookie | Informe spam
Intento hacer un insert a una table de foxpro desde asp, pero recibo este
mensaje...este es mi codigo debidamente comentado:

<%


' -
Dim mdbconn
Dim rsaccess
Dim sqlaccess
Dim conn
Dim v_fact_num
Dim v_status
Dim v_co_cli
Dim v_co_tran
Dim v_forma_pag
Dim v_co_sucu
Dim v_fec_emis
Dim v_co_ven
Dim v_feccom
Dim v_numcom
Dim v_moneda
Dim sqlfoxpro
Dim LastID
Dim LastID2

'mediante una funcion, obtengo el ultimo Fact_Num
LastID = CCDLookup("max(Fact_Num)","Pedidos","",DBConnection3)
'response.write LastID

Set mdbconn = Server.CreateObject("ADODB.CONNECTION")
mdbconn.Open = "DRIVER={Microsoft Access Driver
(*.mdb)};DBQ=C:\Projects\Symbol\Base.mdb"
Set rsaccess = Server.CreateObject("ADODB.Recordset")
rsaccess.LockType = 3
sqlaccess = "select * from Pedido_Header2 where idNum= " &
Request.QueryString("id_Pedido")
rsaccess.Open sqlaccess, mdbconn

'ahora eata abierta la coneccion a la access db y abres la coneccion a la
'foxpro

Set conn = Server.CreateObject("ADODB.Connection")
conn.open "DSN=DataProfit","UID=;","Pwd=;"

'pasas los valores de la access recordset a variables

v_fact_num = LastID + 1
LastID2 = LastID + 1

v_status= Trim(rsaccess.fields("status"))
v_co_cli= Trim(rsaccess.fields("co_cli"))
v_co_tran= Trim(rsaccess.fields("co_tran"))
v_forma_pag= Trim(rsaccess.fields("forma_pag"))
v_co_sucu= Trim(rsaccess.fields("co_sucu"))
v_fec_emis= Trim(rsaccess.fields("fec_emis"))
v_co_ven= Trim(rsaccess.fields("co_ven"))
v_feccom= Trim(rsaccess.fields("fec_emis"))
v_numcom= 0
v_moneda= Trim(rsaccess.fields("moneda"))

' Debug de _Variables verificar si son las correctas
response.write v_fact_num
response.write v_status
response.write v_co_cli
response.write v_co_tran
response.write v_forma_pag
response.write v_co_sucu


'cuando tienes todos los valores que necesitas, usas un insert statement
'para meterlos a la foxpro

'sqlfoxpro = "insert into Pedidos(fact_num, status, co_cli, co_tran,
forma_pag, co_sucu) values ("&v_fact_num&", '"&v_status&"', '"&v_co_cli&"',
'"&v_co_tran&"', '"&v_forma_pag&"', '"&v_co_sucu&"')"
sqlfoxpro = "insert into Pedidos(fact_num, status, co_tran, forma_pag,
co_sucu, fec_emis, co_ven, feccom, numcom, moneda) values ("&v_fact_num&",
'"&v_status&"', '"&v_co_tran&"', '"&v_forma_pag&"', '"&v_co_sucu&"',
'"&v_fec_emis&"', '"&v_co_ven&"', '"&v_fec_emis&"', "&v_numcom&",
'"&v_moneda&"' )"
'ejecutar
conn.Execute sqlfoxpro

'ahora borras el record de access

'rsaccess.Delete

'cierrass las coneccionnes

rsaccess.Close
Set rsaccess = Nothing
mdbconn.Close
Set mdbconn = Nothing
conn.Close
Set conn = Nothing
' -
'End Custom Code



%>
 

Leer las respuestas

#1 José G. Samper
12/12/2004 - 03:36 | Informe spam
Hola como estas, veo que estas tratando de insertar un registro en la tabla
pedidos de Profit Plus Administrativo, el error te esta dando por que esta
volando la validación de registro. En el insert que estas usando no estas
enviando la tasa que debe ser mayor a cero. Te coloco la validación de dicha
tabla

.NOT.EMPTY(fact_num).AND..NOT.EMPTY(co_cli).AND..NOT.EMPTY(co_ven).AND..NOT.EMPTY(moneda).AND.tasa>0.AND..NOT.EMPTY(co_sucu)


Saludos



________________________
José G. Samper C.
MCAD/MCSD/MCDBA
http://www.FoxyNet.Net


"Rookie" escribió en el mensaje
news:
Intento hacer un insert a una table de foxpro desde asp, pero recibo este
mensaje...este es mi codigo debidamente comentado:

<%


' -
Dim mdbconn
Dim rsaccess
Dim sqlaccess
Dim conn
Dim v_fact_num
Dim v_status
Dim v_co_cli
Dim v_co_tran
Dim v_forma_pag
Dim v_co_sucu
Dim v_fec_emis
Dim v_co_ven
Dim v_feccom
Dim v_numcom
Dim v_moneda
Dim sqlfoxpro
Dim LastID
Dim LastID2

'mediante una funcion, obtengo el ultimo Fact_Num
LastID = CCDLookup("max(Fact_Num)","Pedidos","",DBConnection3)
'response.write LastID

Set mdbconn = Server.CreateObject("ADODB.CONNECTION")
mdbconn.Open = "DRIVER={Microsoft Access Driver
(*.mdb)};DBQ=C:\Projects\Symbol\Base.mdb"
Set rsaccess = Server.CreateObject("ADODB.Recordset")
rsaccess.LockType = 3
sqlaccess = "select * from Pedido_Header2 where idNum= " &
Request.QueryString("id_Pedido")
rsaccess.Open sqlaccess, mdbconn

'ahora eata abierta la coneccion a la access db y abres la coneccion a la
'foxpro

Set conn = Server.CreateObject("ADODB.Connection")
conn.open "DSN=DataProfit","UID=;","Pwd=;"

'pasas los valores de la access recordset a variables

v_fact_num = LastID + 1
LastID2 = LastID + 1

v_status= Trim(rsaccess.fields("status"))
v_co_cli= Trim(rsaccess.fields("co_cli"))
v_co_tran= Trim(rsaccess.fields("co_tran"))
v_forma_pag= Trim(rsaccess.fields("forma_pag"))
v_co_sucu= Trim(rsaccess.fields("co_sucu"))
v_fec_emis= Trim(rsaccess.fields("fec_emis"))
v_co_ven= Trim(rsaccess.fields("co_ven"))
v_feccom= Trim(rsaccess.fields("fec_emis"))
v_numcom= 0
v_moneda= Trim(rsaccess.fields("moneda"))

' Debug de _Variables verificar si son las correctas
response.write v_fact_num
response.write v_status
response.write v_co_cli
response.write v_co_tran
response.write v_forma_pag
response.write v_co_sucu


'cuando tienes todos los valores que necesitas, usas un insert statement
'para meterlos a la foxpro

'sqlfoxpro = "insert into Pedidos(fact_num, status, co_cli, co_tran,
forma_pag, co_sucu) values ("&v_fact_num&", '"&v_status&"',
'"&v_co_cli&"',
'"&v_co_tran&"', '"&v_forma_pag&"', '"&v_co_sucu&"')"
sqlfoxpro = "insert into Pedidos(fact_num, status, co_tran, forma_pag,
co_sucu, fec_emis, co_ven, feccom, numcom, moneda) values ("&v_fact_num&",
'"&v_status&"', '"&v_co_tran&"', '"&v_forma_pag&"', '"&v_co_sucu&"',
'"&v_fec_emis&"', '"&v_co_ven&"', '"&v_fec_emis&"', "&v_numcom&",
'"&v_moneda&"' )"
'ejecutar
conn.Execute sqlfoxpro

'ahora borras el record de access

'rsaccess.Delete

'cierrass las coneccionnes

rsaccess.Close
Set rsaccess = Nothing
mdbconn.Close
Set mdbconn = Nothing
conn.Close
Set conn = Nothing
' -
'End Custom Code



%>

Preguntas similares