cfaria Posted July 14, 2006 at 08:52 AM Report #38201 Posted July 14, 2006 at 08:52 AM Bom dia Fiz um delete para eliminar registo relacionados em duas tabelas, mas está a dar um erro que é o seguinte: Microsoft OLE DB Provider for ODBC Drivers (0x80004005) [Microsoft][Controlador Microsoft Access de ODBC] Especifique a tabela que contém os registos que pretende eliminar. A instrução sql é a seguinte: sql = "DELETE FROM Pedido INNER JOIN Pedido_Detalhe ON Pedido.Cod_Pedido = Pedido_Detalhe.Cod_pedido WHERE Pedido.Cod_Pedido = "& registo Conexao.Execute(sql) Tabelas: Pedido Cod_pedido (Chave Primaria) Pedido_Detalhe Cod_pedido (Campo relacionado com a tabela Pedido) Alguem me pode ajudar????
Tiago Salgado Posted July 14, 2006 at 09:02 AM Report #38206 Posted July 14, 2006 at 09:02 AM o campo Pedido.Cod_Pedido está definido na base de dados com que tipo de dados ? e a variavel "registo" ? As vezes poderá ser da passagem dos dados
M6 Posted July 14, 2006 at 09:08 AM Report #38209 Posted July 14, 2006 at 09:08 AM Antes de mais, esta dúvida está colocada no local errado. Há uma secção de bases de dados. Quanto ao teu problema, o erro é até bem explicito, não estás a dizer quais as tabelas onde queres eliminar os registos. Ora experimenta: sql = "DELETE PEDIDO, PEDIDO_DETALHE FROM Pedido INNER JOIN Pedido_Detalhe ON Pedido.Cod_Pedido = Pedido_Detalhe.Cod_pedido WHERE Pedido.Cod_Pedido = "& registo 10 REM Generation 48K! 20 INPUT "URL:", A$ 30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50 40 PRINT "404 Not Found" 50 PRINT "./M6 @ Portugal a Programar."
cfaria Posted July 14, 2006 at 09:35 AM Author Report #38212 Posted July 14, 2006 at 09:35 AM Viva, O campo Pedido.Cod_pedido é a chave primaria da bd (Numeração automatica). A variavel "registo" é a que recebe o valor do id do Recordset Tentei a instrução que o M6 colocou mas dá o mesmo erro: Microsoft OLE DB Provider for ODBC Drivers (0x80004005) [Microsoft][Controlador Microsoft Access de ODBC] Especifique a tabela que contém os registos que pretende eliminar. Abraço
cfaria Posted July 14, 2006 at 02:01 PM Author Report #38253 Posted July 14, 2006 at 02:01 PM Boas pessoal Resolvi com dois deletes, o primeiro apaga os registos na tabela filha com um while e o segundo apaga o registo principal na tabela mãe. Agradeço vossa ajuda Abraço
M6 Posted July 14, 2006 at 02:17 PM Report #38255 Posted July 14, 2006 at 02:17 PM Viva, O campo Pedido.Cod_pedido é a chave primaria da bd (Numeração automatica). A variavel "registo" é a que recebe o valor do id do Recordset Tentei a instrução que o M6 colocou mas dá o mesmo erro: Microsoft OLE DB Provider for ODBC Drivers (0x80004005) [Microsoft][Controlador Microsoft Access de ODBC] Especifique a tabela que contém os registos que pretende eliminar. Abraço Corre isso a partir da consola da BD e vê lá o erro que dá. Por vezes as implementações de ODBC, (des)ajudadas pela tradução podem induzir em erro. Se bem que o problema deverá ser de simples resolução, algum pormenor de sintaxe, por certo. 10 REM Generation 48K! 20 INPUT "URL:", A$ 30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50 40 PRINT "404 Not Found" 50 PRINT "./M6 @ Portugal a Programar."
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now