INNER JOIN

ADILSOO 05/12/2012 18:41:31
#415514
OMAR, de maneira nenhuma, não quero que você entenda assim, a amizade do pessoal do fórum é um privilégio que eu consegui e não quero perder de jeito nenhum, mas pelo que eu entendi que você disse aqui...
Citação:

Este é o meu.Se você copiar e colar
no seu projeto vai dar erro porque os campos são diferentes


deu a entender que eu quero o código pronto só pra copiar e colar, mas tudo bem, não vamos desviar o foco do tópico, muito obrigado pela ajuda que com certeza você já me ajudou muito aqui no fórum, obrigado mais uma vez e volto a dizer que...

Vamos ver se eu estou fazendo certo, eu preciso mostrar uma coisa meio estranha, pois tanto uma marca pode ir em varias assistencias, quanto uma assistencia pode ir varias marcas, é isso que eu estou me perdendo, segue uma foto das tabelas, obrigado a todos desde já.. abraços.
OMAR2011 06/12/2012 08:43:54
#415532
Isso,desde quando li as primeiras mensagens imaginei sendo de carros.Depois das imagens vi que
são de celular.Gastar bastante raciocínio é o que terá de fazer.Se você trabalha em algo assim
acho a melhor forma de fazer esse sistema é observar dentro da empresa com funciona para
personalizar.Tem um leque de várias opções,várias marcas e modelos.Prepara te para o
desafio.Vai gastar um bom tempo para ficar legal.Já imaginou quantos modelos cada Marca tem?
Inté.
FBUR 06/12/2012 15:55:08
#415554
Acho que é falta de parênteses.

Hoje eu uso o MySQL. Porém, outro dia precisei criar uma base de dados ACCESS para um sistema que já existia e usava MySQL. O sistema era igual, o código idêntico. Só mudava a base. As instruções com INNER JOIN que funcionavam sem erro no MySQL, geravam erro com ACCESS por causa da falta de parênteses.

Se for isso, tenta assim:


sSQL = [Ô]SELECT * FROM (autorizadas INNER JOIN assistencias ON autorizadas.codassis = assistencias.codassis) INNER JOIN marcas ON autorizadas.codmarca = marcas.codmarca WHERE codassis = [Ô] & txtcodassis.Text & [Ô][Ô]


Vê se é isso.

[]'s
MARCELO.TREZE 06/12/2012 19:33:20
#415574
eu estou achando estranho dar erro nesta query

sSQL = [Ô]SELECT marcas.*,autorizadas.*, assistencias.* FROM  marcas INNER JOIN (autorizadas  INNER JOIN assitencias ON   autorizadas.codassis = assistencias.codassis) ON  autorizadas.codmarca = marcas.codmarca WHERE autorizadas.codassis = [ô][Ô] & txtcodassis.Text & [Ô][ô][Ô]


lógico sendo access então faltou o apostrofo

faz o teste de novo ai adilso
ADILSOO 08/12/2012 15:26:57
#415654
Gente, deu erro novamente, vou postar um exemplo do sistema pra alguém que se interessar e tiver disponibilidade dar uma olhada.
OMAR2011 08/12/2012 19:28:04
#415655
Do FrmConsulta.

Private Sub cmdbuscar_Click()
Dim SsQl As String

Set rs = New ADODB.Recordset
[ô] 1ª SsQl = [Ô]SELECT Autorizadas.codassis,Assistencias.Nome,Autorizadas.codmarca, Marcas.Marca FROM Autorizadas,Assistencias,Marcas WHERE autorizadas.codassis = [Ô] & txtcodassis.Text & [Ô] And Assistencias.codassis = Autorizadas.codassis And Marcas.CodMarca = Autorizadas.codmarca [Ô]
[ô] 2ª SsQl = [Ô]SELECT marcas.*,autorizadas.*, assistencias.* FROM ((marcas INNER JOIN autorizadas ON autorizadas.codmarca = marcas.CodMarca) INNER JOIN Assistencias On autorizadas.codassis = assistencias.codassis) WHERE autorizadas.codassis = [Ô] & txtcodassis.Text & [Ô][Ô]
[ô] 2ª SsQl = [Ô]SELECT marcas.*,autorizadas.*, assistencias.* FROM ((autorizadas INNER JOIN assistencias ON autorizadas.codassis = assistencias.codassis) INNER JOIN marcas ON autorizadas.codmarca = marcas.codmarca) WHERE autorizadas.codassis = [Ô] & txtcodassis.Text & [Ô][Ô] [ô]Correto

SsQl = [Ô]SELECT * FROM ((autorizadas INNER JOIN assistencias ON autorizadas.codassis = assistencias.codassis) INNER JOIN marcas ON autorizadas.codmarca = marcas.codmarca)Where autorizadas.codassis = [Ô] & txtcodassis.Text & [Ô];[Ô] [ô]Correto sql

Set rs = Conexao.Execute(SsQl)

Do While Not rs.EOF = True

[ô]gridmarca.AddItem [Ô][Ô] & vbTab & rs([Ô]codmarca[Ô]) & vbTab & rs([Ô]marca[Ô]) & vbTab & rs([Ô]Nome[Ô]) [ô]Este é para primeira sSQl
gridmarca.AddItem [Ô][Ô] & vbTab & rs([Ô]Autorizadas.codmarca[Ô]) & vbTab & rs([Ô]marca[Ô]) [ô]Este é para Segunda sSQl

rs.MoveNext
Loop
End Sub

Acredito que está tabela AUTORIZADAS é apenas Teste.
ADILSOO 08/12/2012 21:24:01
#415656
Cara, deu certinho, e pelo que vi e acho que entendi, o erro estava na hora de adicionar no grid, pois não sei se você notou, eu tinha uma consulta identica a que você colocou nova, creio que seja até você que tenha passado, mas, então, vi que aqui..
 gridmarca.AddItem [Ô][Ô] & vbTab & rs([Ô]Autorizadas.codmarca[Ô]) & vbTab & rs([Ô]marca[Ô]) & vbTab & rs([Ô]telefone[Ô]) [ô]Este é para Segunda sSQl

na primeira coluna do grid, você colocou a tabela e campo, e nos demais já funcionou sem colocar, você sabe me dizer porque? Só pra eu entender, ficou show.
ADILSOO 08/12/2012 21:27:50
#415658
A, e queria saber também porque o
 Set rs = New ADODB.Recordset 
antes da consulta, pois testei sem ele e funcionou perfeitamente, obrigado pela ajuda.
OMAR2011 08/12/2012 21:41:49
#415662
Verificar
http://www.vbmania.com.br/pages/index.php?varModulo=Forum&varMethod=abrir&varID=186015
OMAR2011 08/12/2012 21:52:37
#415664
Uma forma de consulta para verificar e testar projetos sempre usei o site do Famigerado MACORATTI ,VBWEB E VBMANIA.

Olhe este.

http://www.macoratti.net/ado_vbas.htm
e mais.
Página 3 de 4 [33 registro(s)]
Tópico encerrado , respostas não são mais permitidas