CONSULTA EM BANCO DE DADOS

USUARIO.EXCLUIDOS 08/12/2003 16:48:22
#214
Será que alguém poderia ajudar? Tenho uma Biblioteca de livros com data de empréstimo, dataprevista de devolução e data em que o livro foi devolvido. Precisava criar uma consulta que mostrasse os livros emprestados e ainda não devolvidos. O sistema foi criado em DAO.
Obrigado pela atenção.
USUARIO.EXCLUIDOS 08/12/2003 17:17:15
#217
Resposta escolhida
Cara, usa expressões SQL e joga o resultado em um grid, é barbada e fica bem legal. Ex:

Dim SQL as string
SQL = SELECT * FROM Emprestimos WHERE Livro = ' " & txtLivro.Text & " ' "


Depois faz a chamada para essa query na hora de chamar a tabela, que vai dar certo... o resto é só jogar para o Grid e tá feito! Abraço!
USUARIO.EXCLUIDOS 08/12/2003 17:51:16
#229
Tipo... vou te ajudar...

Na minha postagem anterior aqui no teu tópico, fiz uma consulta SQL, mas mais nada... Vou refazê-la aqui, explicando passo-a-passo como se faz uma consulta SQL, que por sinal é muito útil:

Dim SQL as String
SQL = SELECT * FROM Emprestimos WHERE Livro = ' " & txtLivro.Text & " ' "


No código acima, declarei "SQL" como uma variável do tipo String e fiz a seguinte consulta: Selecionei tudo o que tinha na tabela "Emprestimos", onde o campo "Livro" fosse igual ao que eu escrevi na Text Box "txtLivro". Então o resultado seria, só o livro que eu digitei na Text Box entendeu?

Agora a chamada para essa consulta:

Set emprestimos = db.Openrecordset(SQL, dbOpenDynaset)


O que eu fiz agora? Abri a tabela "Empréstimos" conforme a consulta anterior! Se não entendeu, posta outra vez aqui que detalho mais... Abraço!
USUARIO.EXCLUIDOS 08/12/2003 18:00:57
#233
Capaz, meu velho, não custa nada! Qualquer dúvida, posta denovo que, se estiver dentro do meu alcance, te ajudarei! Abraço!
USUARIO.EXCLUIDOS 24/12/2003 09:40:19
#2294
Renato,

Eu não faria assim. Eu faria o sistema calcular a data prevista de entrega dos livros e gravaria no seu respectivo campo no banco de dados. Então faria uma consulta se a data da entrega for igual a 0 ou maior que a data prevista, porque poderia assim ter um controle maior de pelo menos quem entrega e quem não entrega.

é só a minha opinião.

Um abraço!
USUARIO.EXCLUIDOS 26/12/2003 22:22:23
#2507
USUARIO.EXCLUIDOS 30/12/2003 14:38:46
#2912
Marcos,

Eu faria tudo com SQL, pelo código mesmo... e não usaria o DBGrid, e sim o MSFlexGrid.

Eu prefiro trabalhar com o Flex porquê é bem mais leve que o DBGrid, mais flexível e não dá erro se for bem estruturado, apesar de ter um pequeno "defeito": não pode ser editado "por ele mesmo", depende de outro objeto ou do código.

Mas essa decisão de quais componentes trabalhar e quais preferir fica com você Marcos, cada programador tem o seu estilo de trabalhar, eu só estava expressando a minha opinião quanto ao teu trabalho...

Quanto à  consulta SQL, podes fazer as duas (ou mais, quantas quiseres) e depois abrir a tabela com base nas consultas, lembra? Se não lembrares, posta aqui outra vez que te ajudamos...

Um abraço!
USUARIO.EXCLUIDOS 30/12/2003 17:07:07
#2932
Marcos,

Que isso cara, visitamos esse fórum para isso mesmo!

Vamos à s dúvidas:

Quanto à  consulta SQL, você pode fazer de acordo com as suas necessidades. A sintaxe correta é aquela mesma (declarar uma variável do tipo string e tal...). Para chamar a tabela de acordo com a consulta, faremos o seguinte:

Set Tabela = db.OpenRecordSet(SQL, dbOpenDynaset)


onde:

Tabela = Nome da tabela em questão;
db = Variável pública declarada em um módulo .bas do tipo "database";
SQL = Variável do tipo "String" que contém a consulta;
Dynaset = Abre o banco de dados como uma imagem da tabela, ficando um pouco mais flexível.

Se não conseguires, posta novamente.

Um abraço!
USUARIO.EXCLUIDOS 30/12/2003 18:24:03
#2942
Obrigado Marcos!

Também desejo isso a vc e a todos os colegas do VBMania, igualmente extensivo aos respectivos familiares.

Qualquer dúvida, posta novamente.

Abraço!
Tópico encerrado , respostas não são mais permitidas