|
Postada em 04/05/2004 03:18 hs
Olá pessoal! Sou novo em programação e estou tendo um problema com o Data, li a duvida do Fernando, e o meu problema e parecido com o dele, eu consigo colocar os dados na tela, mas não consigo, colocar o registro como corrente no data EX: Tenho uma tela de cadastro de produtos com os seguintes campos: Código, Descrição, fornecedor, Quantidade e valor criei uma tela de pesquisa por nome, adicionei um dbliste que lista todos os produtos cadastrados, e coloquei no evento dbclick do dblist o codigo que procura os dados e coloca na tela, porem se faço alguma alteração nos dados, essas alterações vai sempre pro primeiro registro, que tem o código 000001. o código da pesquisa e o seguinte: Private Sub DBList1_DblClick() Dim nome As String Set db = OpenDatabase(App.Path & "\BD.mdb", False, False) nome = DBList1.Text If nome <> "" Then Set TB = db.OpenRecordset("cadProdutos") TB.Index = "descrição" TB.Seek "=", descrição If TB.NoMatch Then MsgBox "Produto não encontrado!", vbInformation, "Mensagem !" Else Unload Me FrmCadProdutos.WindowState = 0 FrmCadProdutos.TxtCadastro.Text = TB("Cadastro") FrmCadProdutos.txtcódigo.Text = TB("código") FrmCadProdutos.txtdescrição.Text = TB("descrição") FrmCadProdutos.TxtValor.Text = TB("valor") FrmCadProdutos.txtquantidade.Text = TB("Quantidade") FrmCadProdutos.txtfornecedor.Text = TB("Fornecedor") FrmCadProdutos.DtaCadProdutos.Recordset.Edit end if end if end sub Desculpem-me se não me espresei bem, como eu disse sou novo em programação. ahhh mais uma duvida...meu vb e versão 6 e não é original, se eu fizer um programa nele, não posso distribuir, isso é verdade? obrigado a todos desde já.
|
|
|
|
|
Postada em 04/05/2004 09:29 hs
A questão da distribuição de seus aplicativos nada tem a ver com o fato de seu VB ser ou não original. Como você disse que está começando, um conselho, tente se livrar da utilização de objeto Data. Aparentemente parecem muito eficazes, mas quando você mais precisa, aí percebe sua limitação. Tente fazer tudo via código. Outro conselho, comece a utilizar conexão via ADO, muito mais versátil e com flexibilidade para conversão para NET. Quanto ao que está ocorrendo em seu aplicativo, me desculpe, mas não consegui entender direito o que está ocorrendo. Quando você altera o registro Id=028 o sistema altera o registro Id=1. É isso??? Ou você quer que ao abrir a tela de consulta retorne apenas um registro??? Pense bem em migrar e t+
|
|
|
|
Postada em 04/05/2004 12:50 hs
Obrigado pela dica sobre ADO e por exclarecer sobre a Distribuição dos Aplicativos. E sobre o meu proplema, é exatamente esse, localizo 0 registro id=028, listo os dados todos na tela, mas quando edito algun dado do registro, por ex a descrição do produto, as alterações vai sempre pro primeiro registro, digamos que o regitro id=028 tem a descrição produto028, e o id=001 tem a descrição produto001, se eu edito o produto028 p/ produto029 essas alterações vai p/ o produto001 Ta complicado. Para usar o ADO eu teria que começar tudo do zero? o prog. que estou fazendo, já esta quase pronto, estou só depurando alguns bugs como esse, já estou a uns 2 messes fazendo seria muito trabalho começar do zero. Mas como sou novo no ramo, e tenho muita vontade de aprender mesmo, se for preciso começo tudo de novo.rs Valeu mesmo.Obrigado
|
|
|
Fabio Reis
não registrado
|
|
Postada em 04/05/2004 21:55 hs
Kra, um conselho, comeca de novo, se bem que nao precisa comecar do zero, pois as telas dos forms vc ja tem montadas, eh soh excluir os datas e a maior parte do codigo. Mas vale a pena mudar para ADO, eu fiz isso, ja tinha um sistema quase pronto com data, mas mudei pq o data me deixava muito limitado, e via codigo com ADO eh muito mais flexivel, vc tem muito mais recursos, muito mais controle. Eh um pouco complicado no inicio, mas depois de pegar o esquema eh muito melhor. Se vc quiser alguma coisa me manda um email q te envio um exemplo que criei q tem o codigo com ADO quase todo comentado, soh q pode demorar um pouco pois nao utilizo muito a net por enquanto (muita coisa pra fazer), mas assim q der te mando. T+
|
|
|
|
Postada em 05/05/2004 09:16 hs
VanVan É realmente eu entendi direito o que está acontecendo, porém, pelo código postado por você acima, não dá para identificar o problema, uma vez que ao dar dois cliques no grid o sistema faz uma verificação o form se fecha e abre uma outra janela (FrmCadProdutos). Se possível, post o código de EDIÇÃO. Me desculpe por estar me metendo em seu trabalho, mais posso lhe dar outra dica ... Na repetição de objetos procure utilizar WITH, isso fz com que seu aplicativo seja um pouco mais rápido. Ex.: With FrmCadProdutos .WindowState = 0 .TxtCadastro.Text = TB("Cadastro") .txtcódigo.Text = TB("código") .txtdescrição.Text = TB("descrição") .TxtValor.Text = TB("valor") .txtquantidade.Text = TB("Quantidade") .txtfornecedor.Text = TB("Fornecedor") .DtaCadProdutos.Recordset.Edit End with Boa sorte e t+
|
|
|
|
Postada em 06/05/2004 21:16 hs
Valeu MasterPrint! Valeu Fabio, Fabio sobre os exemplos que tem, é lógico que quero, como eu disse estou começando, e toda ajuda será bem vinda, vou recomeçar o programa. MasterPrint usei with como vc sugeriu, e realmente e bem, mais rápido sem contar que economiza um tempão digitando código valeu mesmo gente. Um dia eu chego, estou trabalhando pra isso. ate
|
|
|
|