Jump to content

Recommended Posts

Posted

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????

Posted

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."

 

Posted

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

Posted

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

Posted

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."

 

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.