INNER JOIN
GALERA ME AJUDEM A ENCONTRAR O ERRO NESTA CONSULTA:
OBS.: se eu usar apenas o 1º inner join ele funciona.
StrSQL = [Ô]SELECT alunos.alunom,mensalidades.mencod,mensalidades.menval,mensalidades.menven,mensalidades.menpag,modalidades.modnom [Ô] & _
[Ô]FROM ((mensalidades [Ô] & _
[Ô]INNER JOIN alunos ON mensalidades.alucod = alunos.alucod) [Ô] & _
[Ô]INNER JOIN modalidades ON mensalidades.modcod = modalidades.modcod) [Ô] & _
[Ô]WHERE alunos.alucod = [Ô] & Int(txtAluno.Text) & _
[Ô]ORDER BY mensalidades.menven;[Ô]
OBS.: se eu usar apenas o 1º inner join ele funciona.
Que erro está ocorrendo? O campo alucod é numérico?
ou dá um espaço antes do ORDER BY
Citação:
[Ô]WHERE alunos.alucod = [Ô] & Int(txtAluno.Text) & _
[Ô]ORDER BY mensalidades.menven;[Ô]
[Ô]WHERE alunos.alucod = [Ô] & Int(10) & [Ô] [Ô] & _
[Ô]ORDER BY mensalidades.menven;[Ô]
ou dá um espaço antes do ORDER BY
[Ô] ORDER BY mensalidades.menven;[Ô]
Robiu, o Erro é [Ô]Nenhum valor foi fornecido para um ou mais parametros necessarios[Ô]
Obs.: alucod e modcod sao numericos, existe algum problema usar comparações diferentes no inner join? tipo uma eu to comparando com alucod e a outra com modcod, todos os dois campos estao presentes na tabela mensalidades.
a consulta feita é a seguinte:
SELECT
alunos.alunom,mensalidades.mencod,mensalidades.menval,mensalidades.menven,mensalidades.menpag,modalidades.modnom
FROM
((mensalidades INNER JOIN alunos ON mensalidades.alucod = alunos.alucod) INNER JOIN modalidades ON mensalidades.modcod = modalidades.modcod)
WHERE alunos.alunom LIKE [ô]%C%[ô]
ORDER BY mensalidades.menven,alunos.alunom;
Obs.: alucod e modcod sao numericos, existe algum problema usar comparações diferentes no inner join? tipo uma eu to comparando com alucod e a outra com modcod, todos os dois campos estao presentes na tabela mensalidades.
a consulta feita é a seguinte:
SELECT
alunos.alunom,mensalidades.mencod,mensalidades.menval,mensalidades.menven,mensalidades.menpag,modalidades.modnom
FROM
((mensalidades INNER JOIN alunos ON mensalidades.alucod = alunos.alucod) INNER JOIN modalidades ON mensalidades.modcod = modalidades.modcod)
WHERE alunos.alunom LIKE [ô]%C%[ô]
ORDER BY mensalidades.menven,alunos.alunom;
Cara recriei o banco e testei a sua consulta, diretamente no sql server ela esta funcionando.
Voçe verificou se ela esta enviando o valor do textbox como um inteiro,
Faça um Debug no codigo vb e verifique como esta o sql. Talves não esteja passando o valor. Tambem nao entendi esta linha [Ô]WHERE alunos.alunom LIKE [ô]%C%[ô] [Ô] pois voce esta convertendo o valor do text em um inteiro.
Voçe verificou se ela esta enviando o valor do textbox como um inteiro,
Faça um Debug no codigo vb e verifique como esta o sql. Talves não esteja passando o valor. Tambem nao entendi esta linha [Ô]WHERE alunos.alunom LIKE [ô]%C%[ô] [Ô] pois voce esta convertendo o valor do text em um inteiro.
DRSDAVI, realizei o debug e nao encontrei o problema, nao estou convertendo o text em inteiro nao, é que tenho a opção de fazer a consulta por nome ou por codigo, as duas dao o mesmo erro, essa ultima que passei é consulta por nome, a primeira era por codigo.
Fazendo a consulta diretamente no sql ela funciona.
DRSDAVI eu impotei o banco de dados para o SQL SERVER e ultilizei a seguinte consulta:
SELECT alunos.alunom,mensalidades.mencod,mensalidades.menval,mensalidades.menven,mensalidades.menpag,modalidades.modcod,modalidades.modnom FROM ((mensalidades INNER JOIN alunos ON mensalidades.alucod = alunos.alucod) INNER JOIN modalidades ON mensalidades.modcod = modalidades.modcod) WHERE alunos.alucod = 1 ORDER BY mensalidades.menven
ele me retornou o seguinte erro:
Server: Msg 207, Level 16, State 3, Line 1
Invalid column name [ô]modcod[ô].
SELECT alunos.alunom,mensalidades.mencod,mensalidades.menval,mensalidades.menven,mensalidades.menpag,modalidades.modcod,modalidades.modnom FROM ((mensalidades INNER JOIN alunos ON mensalidades.alucod = alunos.alucod) INNER JOIN modalidades ON mensalidades.modcod = modalidades.modcod) WHERE alunos.alucod = 1 ORDER BY mensalidades.menven
ele me retornou o seguinte erro:
Server: Msg 207, Level 16, State 3, Line 1
Invalid column name [ô]modcod[ô].
Desculpe-me mas tive que sair as pressas, caso nao tenha resolvido o problema tente fazer a consulta utilizando o codigo abaixo (com as devidas alteraçoes):
Public Function Localizar(ByVal campo As String) As Boolean
If IsNumeric(campo) Then
sql = [Ô]select * from TabPlano where codpla =[Ô] & campo
Else
sql = [Ô]select * from TabPlano where nompla =[ô][Ô] & campo & [Ô][ô][Ô]
End If
Dim objda As New OleDb.OleDbDataAdapter(sql, banco.objcon)
objds.Tables.Clear()
objda.Fill(objds)
If objds.Tables(0).Rows.Count > 0 Then
dtrw = objds.Tables(0).Rows(0)
MostrarDadosClasse()
Return True
End If
End Function
Public Function Localizar(ByVal campo As String) As Boolean
If IsNumeric(campo) Then
sql = [Ô]select * from TabPlano where codpla =[Ô] & campo
Else
sql = [Ô]select * from TabPlano where nompla =[ô][Ô] & campo & [Ô][ô][Ô]
End If
Dim objda As New OleDb.OleDbDataAdapter(sql, banco.objcon)
objds.Tables.Clear()
objda.Fill(objds)
If objds.Tables(0).Rows.Count > 0 Then
dtrw = objds.Tables(0).Rows(0)
MostrarDadosClasse()
Return True
End If
End Function
Tópico encerrado , respostas não são mais permitidas