Jony Walker Postado Abril 24, 2006 Denunciar Share Postado Abril 24, 2006 Aí galera !! Seguinte: tenho duas tabelas e preciso puxar informações de uma cruzando com a outra. As duas estão conectadas no Access pelo campo id, sendo ele chave em um mas no outro não.. Meu comando está assim:sqlCon = " SELECT doutores.telefone, doutores.endereco, doutores.numero, doutores.complem, telemarketing.op FROM doutores "sqlCon = sqlCon & " WHERE nome LIKE '" & varNom & "%' INNER JOIN telemarketing ON telemarketing.id ORDER BY doutores.nome ASC " Preciso somente do campo OP da também telemarketing, e os outros da tabela doutores. alguém poderia me ajudar a corrigir essa string ??? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 .Andreia. Postado Abril 24, 2006 Denunciar Share Postado Abril 24, 2006 Jony, tenta assim:sqlCon = " SELECT doutores.telefone, doutores.endereco, doutores.numero, doutores.complem, telemarketing.op FROM doutores INNER JOIN telemarketing ON telemarketing.id WHERE nome LIKE '" & varNom & "%' ORDER BY doutores.nome ASC" Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jony Walker Postado Abril 24, 2006 Autor Denunciar Share Postado Abril 24, 2006 Apareceu o seguinte erro: Sem suporte para a expressão de associação. Mas eu fiz a associação "um para muitos", embora eu não repita o registro do campo id em nenhuma das tabelas Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 .Andreia. Postado Abril 24, 2006 Denunciar Share Postado Abril 24, 2006 você fez relacionamentos pelo access? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jony Walker Postado Abril 24, 2006 Autor Denunciar Share Postado Abril 24, 2006 Sim, selecionei a seguinte opção:Somente incluir as linhas quando os campos associados de ambas as tabelas forem iguais, porque foi a que me pareceu mais apropriada Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 .Andreia. Postado Abril 24, 2006 Denunciar Share Postado Abril 24, 2006 colega acho que esse relacionamento deve tá impedindo então.Bom, quando eu tenho duvida na SQL eu monto no access (modo estrutura), selecionando as tabelas e campos. Executo pra ver se está trazendo o que eu quero e por fim, abro em Modo SQL pra ver como ficou a SQL Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jony Walker Postado Abril 24, 2006 Autor Denunciar Share Postado Abril 24, 2006 Continua dando o mesmo erro. Será que é porque um tipo de campo é auto-numeração e o outro string de texto, daí surge a incompatibilidade de tipo não coincidente na expressão ?? Acabei de alterar o campo de formato texto para numero e funcionou o SQL mas a página continua dando o mesmo erro... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 .Andreia. Postado Abril 24, 2006 Denunciar Share Postado Abril 24, 2006 Jony, fiz uma simulação aqui e realmente... sendo texto vai dar erro porque ele não entende o valor e sim a quantidade de caracteres.. não vai conseguir unir valor com texto.Aqui apareceu erro: Tipo não coincidente na expressão Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jony Walker Postado Abril 24, 2006 Autor Denunciar Share Postado Abril 24, 2006 Então eu fiz isso e converti para numero, o sql dentro do Access funfou, mas a página continua apresentando esse tipo de erro, mesmo tendo convertido o campo telemarketing.id para numérico Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 .Andreia. Postado Abril 24, 2006 Denunciar Share Postado Abril 24, 2006 Jony!! esquecemos de um detalhe:sqlCon = " SELECT doutores.telefone, doutores.endereco, doutores.numero, doutores.complem, telemarketing.op FROM doutores INNER JOIN telemarketing ON telemarketing.id = doutores.id WHERE nome LIKE '" & varNom & "%' ORDER BY doutores.nome ASC"vê se agora vai!!! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jony Walker Postado Abril 24, 2006 Autor Denunciar Share Postado Abril 24, 2006 Heheheh eu tinha visto isso, mas ele continua falando do tipo que não coincide, mesmo com o campo alterado para numerico Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 .Andreia. Postado Abril 24, 2006 Denunciar Share Postado Abril 24, 2006 :blink: caraca.... aqui eu fiz um teste igual ao que está na sua SQL e foi... :ph34r: Quando apresenta o erro no Access ele marca o campo depois que você clica em OK? Qual ?Qual Id é auto-numerica, da tabela doutores ou telemarketing ? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jony Walker Postado Abril 24, 2006 Autor Denunciar Share Postado Abril 24, 2006 Consegui resolver o problema, mas agora quando peço para chamar o valor do ID <%= rs("id")%>, ele não está reconhecendo :O item não pode ser encontrado na coleção correspondente ao nome ou ao ordinal solicitado. Será que ele não sabe de qual tabela puxar o id ??? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 .Andreia. Postado Abril 24, 2006 Denunciar Share Postado Abril 24, 2006 ooooo Jony, você não vai conta como é que resolveu o problema??? rsssmanda imprimir a consulta.. esse negocio do Id tem haver não.. porque você uniu! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jony Walker Postado Abril 24, 2006 Autor Denunciar Share Postado Abril 24, 2006 Bom, problema resolvido, eu esqueci de acrescentar o campo de id nos campos selecionáveis do SELECT, sabe lá Deus porque ele num tava associando Obrigado andreia_sp... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 .Andreia. Postado Abril 24, 2006 Denunciar Share Postado Abril 24, 2006 rsss, acontece nos melhores códigos!Até ++ Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jony Walker Postado Abril 24, 2006 Autor Denunciar Share Postado Abril 24, 2006 Opa, sem querer abusar, mas me deparei com um novo erro de INNER JOIN, mas desta vez com UPDATE sqlUp = " UPDATE doutores INNER JOIN telemarketing.op, doutores.cto ON doutores.id = telemarketing.id " sqlUp = sqlUp & " SET cto = " & varT & " WHERE telemarketing.op = " & varOp Deu erro de instrução. O que eu quero é atualizar o campo cto da tabela doutores aonde na tabela telemarketing os doutores cadastrados lá (reconhecidos pelo campo telemarketing.op) sejam os doutores que vão ser atualizados Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 .Andreia. Postado Abril 24, 2006 Denunciar Share Postado Abril 24, 2006 mais uma tentativa: (onde está em negrito é porque não sei qual tabela o campo pertence, dai tu muda)sqlUp = " UPDATE doutores, telemarketing.op, doutores.cto INNER JOIN telemarketing ON doutores.id = telemarketing.id "sqlUp = sqlUp & " SET TABELA.cto = " & varT & " WHERE telemarketing.op = " & varOp Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jony Walker Postado Abril 24, 2006 Autor Denunciar Share Postado Abril 24, 2006 No todo, está imprimindo assim: UPDATE doutores, telemarketing.op, doutores.cto INNER JOIN telemarketing ON doutores.id = telemarketing.id SET doutores.cto = Verdadeiro WHERE telemarketing.op = 'Adriana TL' OR 'Eduardo TL' OR 'TatianeTL' Mas ele agora acusa erro de sintaxe no JOIN Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 .Andreia. Postado Abril 24, 2006 Denunciar Share Postado Abril 24, 2006 ultima tentativa.. porque eu to mais bagunçando do que ajudando rssssUPDATE doutores INNER JOIN telemarketing ON doutores.id = telemarketing.id SET doutores.cto = 'Verdadeiro' WHERE telemarketing.op = 'Adriana TL' OR 'Eduardo TL' OR 'TatianeTL' Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jony Walker Postado Abril 25, 2006 Autor Denunciar Share Postado Abril 25, 2006 você testou isso ?? No meu deu erro de instrução SQL, mas agradeço sua ajuda. UPDATE com INNER JOIN é algo que eu nunca tinha feito, por isso está complicando a minha vida... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 .Andreia. Postado Abril 25, 2006 Denunciar Share Postado Abril 25, 2006 tentei sim colega... você já viu qual campo o Access marcou? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jony Walker Postado Abril 26, 2006 Autor Denunciar Share Postado Abril 26, 2006 Marcou o campo certo... mas mesmo assim eu precisava disso ASAP, então eu contornei o problema e criei uma página de validação, aí eu não precisei mais usar INNER JOIN. Vou continuar tentando, assimq eu resolver eu posto o resultado.. Mais uma vez muito obrigado pela ajuda, eu não desisti, apenas contornei o problema e vou continuar estudando o erro.... Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Jony Walker
Aí galera !!
Seguinte: tenho duas tabelas e preciso puxar informações de uma cruzando com a outra. As duas estão conectadas no Access pelo campo id, sendo ele chave em um mas no outro não..
Meu comando está assim:
sqlCon = " SELECT doutores.telefone, doutores.endereco, doutores.numero, doutores.complem, telemarketing.op FROM doutores "
sqlCon = sqlCon & " WHERE nome LIKE '" & varNom & "%' INNER JOIN telemarketing ON telemarketing.id ORDER BY doutores.nome ASC "
Preciso somente do campo OP da também telemarketing, e os outros da tabela doutores. alguém poderia me ajudar a corrigir essa string ???
Link para o comentário
Compartilhar em outros sites
22 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.