CONSULTA EM BANCO DE DADOS
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.
Obrigado pela atenção.
Cara, usa expressões SQL e joga o resultado em um grid, é barbada e fica bem legal. Ex:
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!
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!
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:
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:
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!
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!
Capaz, meu velho, não custa nada! Qualquer dúvida, posta denovo que, se estiver dentro do meu alcance, te ajudarei! Abraço!
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!
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!
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!
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!
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:
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!
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!
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!
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