TELA DE ORCAMENTO
Agora quando eu coloco o addnew ele apresenta o erro abaixo:
Run-time error "3075"
Syntax error (missing operator) in query expression 'NumeroOrcamento='
Será que é pq ele naum encontrou nenhum registro???
Run-time error "3075"
Syntax error (missing operator) in query expression 'NumeroOrcamento='
Será que é pq ele naum encontrou nenhum registro???
agora fiquei boiando, se você esta utilizando uma consulta, porque você esta dando o addnew??
é melhor postar sua rotina para ver qual é o erro, tanto da abertura, quanto a do addnew.
é melhor postar sua rotina para ver qual é o erro, tanto da abertura, quanto a do addnew.
retificando, poste:
rotina da consulta
rotina do addnew
outra coisa, qual o formato de dados no campo numeroorcamento????
rotina da consulta
rotina do addnew
outra coisa, qual o formato de dados no campo numeroorcamento????
Desculpa amigão, acho que não fui muito claro:
Eu preciso cadastrar orçamentos de serviços e gravar em banco de dados, só que o problema é que não estou conseguindo fazer com que o dbgrid fique em branco, por ser um novo orçamento. Ao clicar no botão INSERIR, ele aparece uma tela sobre essa do orçamento, onde o cliente digita a Descrição, Quantidade e Valor e ao clicar no OK, o que foi digitado tem que aparecer no dbgrid que esta na primeira tela e asssim vai.
MEU PROBLEMA:
Não estou conseguindo trazer um dbgrid limpo ao entrar na tela de orçamento para poder cadastrar a descrição. A propriedade do campo NumeroOrcamento é Auto Preenchimento.
Espero que tenha conseguido explicar com mais nitidez.
Obrigado pela força.
Eu preciso cadastrar orçamentos de serviços e gravar em banco de dados, só que o problema é que não estou conseguindo fazer com que o dbgrid fique em branco, por ser um novo orçamento. Ao clicar no botão INSERIR, ele aparece uma tela sobre essa do orçamento, onde o cliente digita a Descrição, Quantidade e Valor e ao clicar no OK, o que foi digitado tem que aparecer no dbgrid que esta na primeira tela e asssim vai.
MEU PROBLEMA:
Não estou conseguindo trazer um dbgrid limpo ao entrar na tela de orçamento para poder cadastrar a descrição. A propriedade do campo NumeroOrcamento é Auto Preenchimento.
Espero que tenha conseguido explicar com mais nitidez.
Obrigado pela força.
bom, como não manjo de dbgrid vou ficar devendo, porém não poderia aparecer o erro que você destacou, pois ele refere - se a uma consulta e não a um addnew, poste o código do botão inserir para ver se encontro o que esta errado.
Ok Wiliam,
Apesar que esse erro não aparece quando vou acrescentar a Descriçao do serviço e assim que abro a tela de Orçamento.
Será que você ou alguém conhece algum método mais simples para fazer isso, pq na parte de inclusão acho que não será tão complicado, o meu maior problema é ele abrir uma nova tela com um orçamento novo e com o dbgrid limpo, acredito q para acrescentar os orçamentos não será tão complicado.
A minha idéia inicial era fazer uma consulta (deve ser esse o erro), onde ele deverá procurar os registros do novo orçamento e claro, não vai encontrar dai o dbgrid ficará em branco.
Vou colocar abaixo o código onde ele faz isto, se alguém conhecer um método mais fácil, ficarei agradecido:
Dim sql As String
sql = "SELECT Descricao FROM Orcamento WHERE NumeroOrcamento =" & txtorcamento.Text
data1.RecordSource = sql
data1.Refresh
Obrigado à  todos pela força,
Apesar que esse erro não aparece quando vou acrescentar a Descriçao do serviço e assim que abro a tela de Orçamento.
Será que você ou alguém conhece algum método mais simples para fazer isso, pq na parte de inclusão acho que não será tão complicado, o meu maior problema é ele abrir uma nova tela com um orçamento novo e com o dbgrid limpo, acredito q para acrescentar os orçamentos não será tão complicado.
A minha idéia inicial era fazer uma consulta (deve ser esse o erro), onde ele deverá procurar os registros do novo orçamento e claro, não vai encontrar dai o dbgrid ficará em branco.
Vou colocar abaixo o código onde ele faz isto, se alguém conhecer um método mais fácil, ficarei agradecido:
Dim sql As String
sql = "SELECT Descricao FROM Orcamento WHERE NumeroOrcamento =" & txtorcamento.Text
data1.RecordSource = sql
data1.Refresh
Obrigado à  todos pela força,
Davi vc disse que a minha instrucao deu erro.......mas aquilo q fiz foi apenas uma sintax de como usar a instrucao.........na verdade naum está errada ...a naum ser q o campo da tabela fosse tipo texto mais blz......
agora achu q entendi o que fazer.........na hora que abrir um novo orcamento vc gostaria q a grid estive vazia e quando adicionasse itens fosse preenchendo-a automaticamente neh. bom minha opiniao seria assim......
toda vez que fazer um novo orcamento gere um codigo q naum tenha na sua tabela ex: CodigoOrcamento........e abra a tabela.
sql = "SELECT * FROM Orcamento WHERE CodigoOrcamento =" & CodOrça
data1.RecordSource = sql
data1.Refresh
Fazendo isso a instrucao naum vae trazer nenhum registro é claro pq esse codigo naum foi cadastrado ainda com isso a grid ficara vazia!!!
Agora no caso dos Itens o certo era vc ter um campo CodigoOrcamento e CodigoItens........pq na hora que vc adicionar um item vc podia usar esta instrucao
sql = "SELECT * FROM Orcamento WHERE CodigoOrcamento =" & CodOrça & " AND CodigoItens= " & CodiItens
data1.RecordSource = sql
data1.Refresh
Ou seja vc teria que fazer um relacionamento na sua tabela..Assim na grid ira ficar somente os itens deste orçamento!!
agora achu q entendi o que fazer.........na hora que abrir um novo orcamento vc gostaria q a grid estive vazia e quando adicionasse itens fosse preenchendo-a automaticamente neh. bom minha opiniao seria assim......
toda vez que fazer um novo orcamento gere um codigo q naum tenha na sua tabela ex: CodigoOrcamento........e abra a tabela.
sql = "SELECT * FROM Orcamento WHERE CodigoOrcamento =" & CodOrça
data1.RecordSource = sql
data1.Refresh
Fazendo isso a instrucao naum vae trazer nenhum registro é claro pq esse codigo naum foi cadastrado ainda com isso a grid ficara vazia!!!
Agora no caso dos Itens o certo era vc ter um campo CodigoOrcamento e CodigoItens........pq na hora que vc adicionar um item vc podia usar esta instrucao
sql = "SELECT * FROM Orcamento WHERE CodigoOrcamento =" & CodOrça & " AND CodigoItens= " & CodiItens
data1.RecordSource = sql
data1.Refresh
Ou seja vc teria que fazer um relacionamento na sua tabela..Assim na grid ira ficar somente os itens deste orçamento!!
david, o pensamento do alexandre esta correto e o seu tambem esta, o que esta errado é a sua consulta, você colocou assim:
sql = "SELECT Descricao FROM Orcamento WHERE NumeroOrcamento =" & txtorcamento.Text
ou seja selecione apenas o campo descricao da tabela orcamento onde numeroorcament = a sua text, e é isso o que esta errado ou você faz como o alexandre indicou
sql = "select * from orcamento where numeroorcamento =" & txtorcamento.text
ou então você faz
sql = "select numeroorcamento from orcamento where numeroorcamento =" & txtorcamento.text
ou seja selecione numeroorcamento da tabela orcamento onde numeroorcamento é igual a text
percebeu o erro??
voce selecionou apenas o campo DESCRICAO, entretanto colocou uma clausula where com o campo NUMEROORCAMENTO.
voce so pode fazer isso quando sua consulta utilizar algo como "select * from tabela" aà sim, pois todos os campos da tabela foram carregados, então é possivel colocar um WHERE com qualquer campo.
sql = "SELECT Descricao FROM Orcamento WHERE NumeroOrcamento =" & txtorcamento.Text
ou seja selecione apenas o campo descricao da tabela orcamento onde numeroorcament = a sua text, e é isso o que esta errado ou você faz como o alexandre indicou
sql = "select * from orcamento where numeroorcamento =" & txtorcamento.text
ou então você faz
sql = "select numeroorcamento from orcamento where numeroorcamento =" & txtorcamento.text
ou seja selecione numeroorcamento da tabela orcamento onde numeroorcamento é igual a text
percebeu o erro??
voce selecionou apenas o campo DESCRICAO, entretanto colocou uma clausula where com o campo NUMEROORCAMENTO.
voce so pode fazer isso quando sua consulta utilizar algo como "select * from tabela" aà sim, pois todos os campos da tabela foram carregados, então é possivel colocar um WHERE com qualquer campo.
coloque assim a sql:
sql = "select numeroorcamento from orcamento where numeroorcamento ='" & txtorcamento.text & "'"
assim ela vai funcionar corretamente e vai trazer o seu dbgrid em branco
qualquer coisa me adiciona no msn que te ajudo se problemas
sql = "select numeroorcamento from orcamento where numeroorcamento ='" & txtorcamento.text & "'"
assim ela vai funcionar corretamente e vai trazer o seu dbgrid em branco
qualquer coisa me adiciona no msn que te ajudo se problemas
Amigos,
Eu mudei minha programação para ver se deste jeito vai dar certo.
Na segunda tela onde digito a Descrição do serviço e tal, jogo para o banco de dados e na primeira tela onde esta o dbgrid, faço com que a relação de serviços vai aparecendo a medida que o cliente digita.. Beleza, mas não está atualizando o dbgrid, já coloquei para atualizar mas não vai. Criei 2 Functions, na tela do dbgrid para atualizar e outra na tela onde digita a descrição para ver se funciona, mas não rolou. Será que alguém poderia me dar uma força, derepente é algo muito idiota que não estou conseguindo ver, vou colocar o código abaixo:
TELA ONDE é DIGITADA A DESCRIÇÃO:
Dim conta_total As Single
conta_total = txtquantidade.Text * txtprunit.Text
txttotal.Text = conta_total
gera_orcamento_button_ok (serve somente para gerar número do orçamento)
cad_orc.Data1.Refresh
Data1.Recordset.Update
Data1.Refresh
cad_orc.atualiza_grid
cad_orc.dbgridorcamento.Refresh
TELA ONDE ESTÃ Â O DBGRID
Function atualiza_grid()
Dim sql As String
sql = "select NumeroOrcamento from Orcamento where NumeroOrcamento=" & txtorcamento.Text
Data1.RecordSource = sql
Data1.Refresh
dbgridorcamento.Refresh
End Function
Vocês podem observar que coloquei um Data nas 2 telas, sendo que a tela onde está o dbgrid que é a principal, só deveria puxar os valores do banco, mas não está acontecendo. O que está acontecendo é que digito os dados, mas não aparece nada no dbgrid.
Agradeço a ajuda de todos,
Eu mudei minha programação para ver se deste jeito vai dar certo.
Na segunda tela onde digito a Descrição do serviço e tal, jogo para o banco de dados e na primeira tela onde esta o dbgrid, faço com que a relação de serviços vai aparecendo a medida que o cliente digita.. Beleza, mas não está atualizando o dbgrid, já coloquei para atualizar mas não vai. Criei 2 Functions, na tela do dbgrid para atualizar e outra na tela onde digita a descrição para ver se funciona, mas não rolou. Será que alguém poderia me dar uma força, derepente é algo muito idiota que não estou conseguindo ver, vou colocar o código abaixo:
TELA ONDE é DIGITADA A DESCRIÇÃO:
Dim conta_total As Single
conta_total = txtquantidade.Text * txtprunit.Text
txttotal.Text = conta_total
gera_orcamento_button_ok (serve somente para gerar número do orçamento)
cad_orc.Data1.Refresh
Data1.Recordset.Update
Data1.Refresh
cad_orc.atualiza_grid
cad_orc.dbgridorcamento.Refresh
TELA ONDE ESTÃ Â O DBGRID
Function atualiza_grid()
Dim sql As String
sql = "select NumeroOrcamento from Orcamento where NumeroOrcamento=" & txtorcamento.Text
Data1.RecordSource = sql
Data1.Refresh
dbgridorcamento.Refresh
End Function
Vocês podem observar que coloquei um Data nas 2 telas, sendo que a tela onde está o dbgrid que é a principal, só deveria puxar os valores do banco, mas não está acontecendo. O que está acontecendo é que digito os dados, mas não aparece nada no dbgrid.
Agradeço a ajuda de todos,
Tópico encerrado , respostas não são mais permitidas