PROBLEMA COM SQL

USUARIO.EXCLUIDOS 20/07/2005 20:57:10
#95250
Dim BD As Database
Dim RS As Recordset

Private Sub Command1_Click()
Set RS = BD.OpenRecordset("SELECT Proprietarios.Codigo, Proprietarios.Nome, Proprietarios.Endereco, Proprietarios.Bairro, Proprietarios.Numero, Bairros.Codigo, Bairros.Nome, Ruas.Codigo, Ruas.Nome, Animais.Codigo, Animais.Proprietario, Animais.Especie, Animais.Nome, Animais.Raca, Animais.Sexo, Animais.Porte, Animais.Pelagem, Animais.Cor, Animais.Idade, Animais.Tipo, Racas.Codigo, Racas.Raca FROM (((Proprietarios INNER JOIN Animais ON Proprietarios.Codigo = Animais.Proprietario) INNER JOIN Bairros ON Proprietarios.Bairro = Bairros.Codigo) INNER JOIN Ruas ON Proprietarios.Endereco = Ruas.Codigo) INNER JOIN Racas ON Animais.Raca = Racas.Codigo where Proprietarios.Bairro Between '" & Text1.Text & "' And '" & Text2.Text & "' ORDER BY Proprietarios.Bairro, Proprietarios.Numero")
Set Data1.Recordset = RS
End Sub

Private Sub Command2_Click()
Unload Me
End Sub

Private Sub Form_Load()
Set BD = OpenDatabase(App.Path & "\db2.mdb")

End Sub
Se alguém puder me ajudar, preciso dessa instrução para gerar um relatório.
Não sei se tem como Postar o BD aki, mas se precisarem dele eu mando.
OK?
Brigaduu

JEAN.JEDSON 21/07/2005 07:32:30
#95269
qual o problema?

Private Sub Command1_Click()
sSQL = ""
sSQL = sSQL & "SELECT Proprietarios.Codigo, "
sSQL = sSQL & " Proprietarios.Nome, "
sSQL = sSQL & " Proprietarios.Endereco, "
sSQL = sSQL & " Proprietarios.Bairro, "
sSQL = sSQL & " Proprietarios.Numero, "
sSQL = sSQL & " Bairros.Nome, "
sSQL = sSQL & " Ruas.Nome, "
sSQL = sSQL & " Animais.Codigo, "
sSQL = sSQL & " Animais.Especie, "
sSQL = sSQL & " Animais.Nome, "
sSQL = sSQL & " Animais.Raca, "
sSQL = sSQL & " Animais.Sexo, "
sSQL = sSQL & " Animais.Porte, "
sSQL = sSQL & " Animais.Pelagem, "
sSQL = sSQL & " Animais.Cor, "
sSQL = sSQL & " Animais.Idade, "
sSQL = sSQL & " Animais.Tipo, "
sSQL = sSQL & " Racas.Raca "
sSQL = sSQL & "FROM Proprietarios "
sSQL = sSQL & "INNER JOIN Animais ON Proprietarios.Codigo = Animais.Proprietario "
sSQL = sSQL & "INNER JOIN Bairros ON Proprietarios.Bairro = Bairros.Codigo "
sSQL = sSQL & "INNER JOIN Ruas ON Proprietarios.Endereco = Ruas.Codigo "
sSQL = sSQL & "INNER JOIN Racas ON Animais.Raca = Racas.Codigo "
sSQL = sSQL & "WHERE Proprietarios.Bairro BETWEEN '" & Text1.Text & "' AND '" & Text2.Text & "' "
sSQL = sSQL & "ORDER BY Proprietarios.Bairro, Proprietarios.Numero "
Set RS = BD.OpenRecordset(sSQL)
Set Data1.Recordset = RS
End Sub


não tenho certeza se o between funciona corretamente com campos texto...
caso não funcione o código acima, me envie o bd
USUARIO.EXCLUIDOS 22/07/2005 20:16:03
#95671
Jean Jedson, O erro que acusa é que oas dados da expressão do critério são inválidos!!!
USUARIO.EXCLUIDOS 22/07/2005 23:05:44
#95691
Resposta escolhida
A julgar pelos trechos de código:
...
sSQL = sSQL & " Bairros.Nome, "
...
sSQL = sSQL & "INNER JOIN Bairros ON Proprietarios.Bairro = Bairros.Codigo "

me parece que o valor de Proprietarios.Bairro na clausula WHERE é numérico e não caracter, corrija; removendo os ' (apostrofes):
sSQL = sSQL & "WHERE Proprietarios.Bairro BETWEEN " & Val(Text1.Text) & " AND " & Val(Text2.Text)
USUARIO.EXCLUIDOS 25/07/2005 21:14:11
#95974
Citação:

JOSE.NIZ escreveu:
A julgar pelos trechos de código:
...
sSQL = sSQL & [Ô] Bairros.Nome, [Ô]
...
sSQL = sSQL & [Ô]INNER JOIN Bairros ON Proprietarios.Bairro = Bairros.Codigo [Ô]

me parece que o valor de Proprietarios.Bairro na clausula WHERE é numérico e não caracter, corrija; removendo os [à'] (apostrofes):
sSQL = sSQL & [Ô]WHERE Proprietarios.Bairro BETWEEN [Ô] & Val(Text1.Text) & [Ô] AND [Ô] & Val(Text2.Text)



Valew cara!!!!!
Era justamente isso!!!
Brigaduuuu!!!!!!!!!
Tópico encerrado , respostas não são mais permitidas