PROBLEMA COM SQL
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
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
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
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
Jean Jedson, O erro que acusa é que oas dados da expressão do critério são inválidos!!!
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)
...
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)
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