Ir para conteúdo
Fórum Script Brasil
  • 0

[RESOLVIDO]Ajuda com Trabalho de Conclusão! Erro


Matheus Freitas

Pergunta

Boa Tarde, sou um iniciante na programação fiz o Técnico em Informática, estou fazendo meu trabalho de conclusão, mas parei pois esta dando um erro q vou mostrar abaixo, que não consigo saber o porque do erro!

:wacko:

Private Sub cmdGravar_Click(Index As Integer) ---> ____FICA AMARELO AQUI____

If txtNome.Text = "" Then
    MsgBox "Campo Obrigatório!", vbInformation, "Erro"
    txtNome.SetFocus
    Exit Sub
End If

If txtNome.Text <> "" Then ---> _____O .TEXT FICA CINZA_____
    tbCliente.AddNew
        tbCliente("codCliente") = txtCliente.Text
        tbCliente("Nome") = txtNome.Text
        tbCliente("Endereço") = txtEndereço.Text
        tbCliente("Bairro") = txtBairro.Text
        tbCliente("Telefone") = txtTelefone.Text
        tbCliente("Rg") = txtRg.Text
        tbCliente("Limite") = txtLimite.Text
    tbCliente.Update
End If

cmdGravar.Enabled = False
cmdNovo.Enabled = True
cmdDeletar.Enabled = True
cmdFechar.Enabled = True

conConexao.Refresh

End Sub

E não adianta apagar o text porque dai da erro no .Enabled la em baixo

o ERRO q da e o seguinte

Compile error:

method or data member not found

este comando e no botao gravar mas o erro da em todos os command butons: GRAVAR, DELETAR, NOVO.

Alguma ideia do que seje, s quiserem posto os outros códigos também. Desculpe se fiz alguma coisa errada no tópico, sou novo por aki.

Desde já agradeço

Editado por Matheus Freitas
Link para o comentário
Compartilhar em outros sites

Posts Recomendados

  • 0

Fala xara, tudo bom?

então... como o erro ocorre nessa linha

Private Sub cmdGravar_Click(Index As Integer) ---> ____FICA AMARELO AQUI____
provavelmente no index do seu botão, deve ta prenchido alguma coisa... apaga ele la e substitui essa linha por
Private Sub cmdGravar_Click()

Abraços

Editado por Matheus-vb6
Link para o comentário
Compartilhar em outros sites

  • 0

Olá Matheus !

Olha, sempre que surge essa mensagem: "method or data member not found" pelo menos comigo, era algo errado relacionado com o script de procedimentos do BD... veja a linha abaixo:

tbCliente("Endereço") = txtEndereço.Text

A Coluna "Endereço" do seu BD está realmente com a letra "ç" ?

Pelo menos comigo quando fiz isso com BD Access deu problema...e com SQL nem falo :wacko:

Tenta substituir por "Endereco" e ver no que dá ^_^ .

Link para o comentário
Compartilhar em outros sites

  • 0

Bom dia

O index realmente estava preenchido mas o erro continua.

Private Sub cmdGravar_Click()
esse ficou assim agora ok? mas ainda continua dando o erro do mesmo jeito fica amarelo aquele ali em cima e o que esta logo abaixo fica cinza o.TEXT.
If txtNome.Text = "" Then --->___FICA_CINZA_O_.TEXT___

Como disse ainda continua dando erro em todos os lugares onde tem q ir .TEXT e .ENABLEB

Não sei se ajuda mas quando boto o ponto depois do txtNome so aparece para botar o .COUNT .ITEM .LBOUND e .UBOUND :unsure:

Os nome dos texts eu já confiri pensei que fosse alguma coisa do tipo, mas acho que não e pois já revisei todos.

valeu pela dica abraço :rolleyes:

Link para o comentário
Compartilhar em outros sites

  • 0
Matheus Analisei melhor o que tu me falou para fazer e notei que os TEXT BOX também estavão com o Index preenchido, então apaguei e resolveu o problema. MUUUUUITO OBRIGADO

Contudo agora esta dando erro na linha

tbCliente.AddNew
O erro é: Object required Alguma ideia? :wub:
este erro foi meu Agora a minha duvida e bem facil de responder. Coloquei um data grid no projeto so que ele não atualiza, vocês sabem o porque uso o
DataGrid1.Refresh
e também o
Adodc1.Refresh

mas não atualiza, somente depois que fecho e abro novamente

mas não funciona

Editado por Matheus Freitas
Link para o comentário
Compartilhar em outros sites

  • 0

Olha cara... eu não curto usar refresh, eu prefiro refazer, vamos supor que você crie uma função "atualizargrid"

private sub atualizargrid()
%codigo para limpar a tabela e depois um outro para listar%
end sub

ai onde você coloco NOME.refresh, você poe "atualizargrid"

Acho que seria melhor :)

Abraços :D

Link para o comentário
Compartilhar em outros sites

  • 0

Matheus Freitas...

Em relação ao DataGrid, eu não uso o Refresh...não conseguí me adaptar nem bolar uma maneira de usá-lo com eficiência...mas segue abaixo, uma video-dica minha...de como utilizo um DataGrid para mostrar dados de uma Tabela em Access...

não espere muita coisa, pois estou iniciando também...e sou até o momento auto-didata...aprendendo com base em apostilas, video-aulas e muitas dicas e informações que consigo com a boa vontade dos feras deste excelente site :lol:.

Então, segue aqui a Video-dica...está compactado em ".RAR", e no host Deposit Files:

Video-dica ADO & DataGrid - VB-6

Espero que te ajuda cara! :D

Link para o comentário
Compartilhar em outros sites

  • 0
Olha cara... eu não curto usar refresh, eu prefiro refazer, vamos supor que você crie uma função "atualizargrid"

private sub atualizargrid()
%codigo para limpar a tabela e depois um outro para listar%
end sub

ai onde você coloco NOME.refresh, você poe "atualizargrid"

Acho que seria melhor :)

Abraços :D

Bem desculpe minha ignorância mas como ficaria este código já que não tenho nenhuma noção de como fazer?

e se possivel pode me explicar mais ou menos como monta os gráficos no VB com o banco de dados do ACCESS

Matheus Freitas...

Em relação ao DataGrid, eu não uso o Refresh...não conseguí me adaptar nem bolar uma maneira de usá-lo com eficiência...mas segue abaixo, uma video-dica minha...de como utilizo um DataGrid para mostrar dados de uma Tabela em Access...

não espere muita coisa, pois estou iniciando também...e sou até o momento auto-didata...aprendendo com base em apostilas, video-aulas e muitas dicas e informações que consigo com a boa vontade dos feras deste excelente site :lol:.

Então, segue aqui a Video-dica...está compactado em ".RAR", e no host Deposit Files:

Video-dica ADO & DataGrid - VB-6

Espero que te ajuda cara! :D

Estou baixando seu video, pois somos dois entaun, aprendendo por apostilas, videos e as que não consigo fazer, peço ajuda de vocês. :lol:

Mais futuramente pretendo me formar na area de programação. acho muito legal e e uma area q estao presisando, mas como estou começando.... sempre ocorre algum probleminha.

valeu a vocês q estão me ajudando!!

Abraço

Link para o comentário
Compartilhar em outros sites

  • 0

Vou fazer +- como seria...

para limpar o data grid seria .clear normal? se for, o código para atualizar vem do "adicionar"

o que tiver com % na frente quer dizer q você deve adaptar ao seu código ok?

%abrebanco
set %rsdados = new adodb.recordset
rsdados.open "select * from %TABELA%",%CONEXAO%
do while rsdados.eof=false
'%%%aqui se faz o código que vai inserir os dados na sua tabela%%%
rsdados.movenext
loop

Qualque duvida poste ai cara... Abraço :D

Link para o comentário
Compartilhar em outros sites

  • 0
Vou fazer +- como seria...

para limpar o data grid seria .clear normal? se for, o código para atualizar vem do "adicionar"

o que tiver com % na frente quer dizer q você deve adaptar ao seu código ok?

%abrebanco
set %rsdados = new adodb.recordset
rsdados.open "select * from %TABELA%",%CONEXAO%
do while rsdados.eof=false
'%%%aqui se faz o código que vai inserir os dados na sua tabela%%%
rsdados.movenext
loop

Qualque duvida poste ai cara... Abraço :D

o video do Danleonhart que ficou muito bom, parabens sugere praticamente a mesma coisa que o seu. Deste jeito eu não consegui fazer no entanto aproveitei algumas ideias de vocês. A minha solução foi criar um evento Timer .dando um Refresh apos 2 segundos eu ter ADD um novo Record.

AGORA SO FALTA A ULTIMA PARTE QUE COM CERTEZA E BEM CHATO MAS ACHO QUE PODEM ME AJUDAR já Q PERCEBI QUE vocês ENTENDEM BASTANTE DE SQL.

Mas so que este não consegui fazer nada, que são os gráficos, a única coisa que fiz foi colocar o DataSource e o Data Member no MSCHART mas não e o resultado esperando.

Alguma ideia, esta e a ultima vez que incomodo vocês :blush:

Link para o comentário
Compartilhar em outros sites

  • 0

Matheus Freitas...

Sinceramente não cheguei a usar este recurso do VB-6...ando dividindo minha atenção entre VB-6 e .NET (VB.NET & C#), então só o que posso fazer é te indicar este artigo que encontrei no site do Macoratti:

http://www.macoratti.net/ado_graf.htm

Espero que te ajude, se é que você já não leu ele :D .

Link para o comentário
Compartilhar em outros sites

  • 0

Ative o componente Microsoft chart controls, e você terá um componente de grafico... agora quanto a programação....

-na propriedade custom dele, você pode entrar e configurar cores, texto, legenda, etc....

-columncount: (quantidade de colunas que terá no gráfico, se quise pode fazer ele ler o banco de dados e ver quantos dados tem...

-column: qual coluna está sendo editada, cuidado para não confundir com rows... eu particulamente uso uma coluna por row, mas no caso, se você quiser classificar por mês, pode fazer varias colunas dentro de uma linha(row)...

-columnlabel: se não me engano, é o que apareceria na legenda

-rowcount,row e rowlabel se aplicam as mesmas explicações acima

-showlegend: mostra ou não legenda do gráfico... deixe true, false pode causar dificuldade na interpretação....

você sabe fazer consulta no banco de dados com usando do while? Caso não saiba, poste aqui uma base dos seus dados, exemplo, "tenho os campos nome,sobrenome,telefone e tal" gostaria q o grafico fosse assim assim assado... ai ajuda na hora de elaborar o código... caso saiba, poste aqui se você conseguiu ou se n atendeu suas necessidades....

Abraços :D

Link para o comentário
Compartilhar em outros sites

  • 0

Fala Matheus-vb6 !

Não tenho total certeza mas acho que com o DataGrid não rola o Do While ou Do Until com o RecordSet...com o FlexGrid e a ListView sim...basta um Do Until e o script de preenchimento que vai embora ! :)

Depois quem vai dá uma fuçada no MS Chart sou eu...ainda não tinha pensado em adicionar um em meus projetos...

Se prepara Matheus-vb6 pra trocar umas idéias no MSN ;).

Link para o comentário
Compartilhar em outros sites

  • 0

Vou fazer aqui, já edito e posto o código!

edit---

Código ai, explicado cada linha... os q tem ''' é que representa a ultima especificação... qualquer duvida só postar... abraços


Private Sub Form_Load()

Dim x, b As Single ' declaro as variaveis
abrebanco ' abro a conexao
Set rsdados = New ADODB.Recordset ' criei minha primeira consulta
rsdados.Open "select * from marcas", cn ' /\
x = 0 ' criei um contador começando do 0
Do While rsdados.EOF = False ' repetirá a ação até acabar os dados
rsdados.MoveNext ' vai pro proximo registro
x = x + 1 ' soma 1 no contador
Loop ' refaz
Grafico.RowCount = x ' quantidade de linhas é qnts ele conto
Set rsdados2 = New ADODB.Recordset ' criei minha segunda consulta
rsdados2.Open "select * from marcas", cn ' /\
Do While rsdados2.EOF = False ' vai fazer até acabar os dados
Grafico.RowLabel = rsdados2("Produto") ' vai escrever nas label os nomes dos produtos
If Grafico.Row < x Then Grafico.Row = Val(Grafico.Row) + 1 ' isso foi uma especie de tratamento de erro :X
rsdados2.MoveNext ' vai pro proximo registro
Loop 'refaz
Grafico.Column = 1 ' faz as legendas do grafico
Grafico.ColumnLabel = "Produto" '''
Grafico.Column = 2 '''
Grafico.ColumnLabel = "Marca" '''
Grafico.Column = 3 '''
Grafico.ColumnLabel = "Peso" '''
Grafico.Column = 4 '''
Grafico.ColumnLabel = "Fornecedor" '''
Grafico.Column = 5 '''
Grafico.ColumnLabel = "Preço" '''
Set rsdados3 = New ADODB.Recordset ' criei uma terceira consulta
rsdados3.Open "select * from marcas", cn ' /\
b = 1 ' contador das linhas
Do While rsdados3.EOF = False 'vai repitir até terminar os dados
Grafico.Row = b ' especifica qual ele vai editar
Grafico.Column = 1 ' poe os dados
Grafico.Data = rsdados3("Produto") '''
Grafico.Column = 2 '''
Grafico.Data = rsdados3("Marca") '''
Grafico.Column = 3 '''
Grafico.Data = rsdados3("Peso") '''
Grafico.Column = 4 '''
Grafico.Data = rsdados3("Fornecedor") '''
Grafico.Column = 5 '''
Grafico.Data = rsdados3("Preço") '''
b = b + 1 ' soma um no contador
rsdados3.MoveNext 'vai pro proximo registro
Loop 'refaz

End Sub

[/codebox]

Editado por Matheus-vb6
Link para o comentário
Compartilhar em outros sites

  • 0

Ok, consegui fazer vlw mesmo cara, o Grafico ficou legal.

so pra as duas ultimas duvida ultima duvida mesmo. To querendo fazer uma coisa

na tabelas vendas.

Em cliente: queria fazer uma pesquisa na tabela Cliente para selecionar o nome!

e em Produtos queria fazer a pesquisa do produto e quando seleciona se um produto aparecesse

no DataGrid, no caso teria como selecionar mais de um produto, onde armasenaria eles no banco?

Se tem como,como poderia fazer isso se não for complicado demais

se não entender o que quero fazer posta ai!

Agora é serio e a ultima vez q encomodo

vlw abraços

Link para o comentário
Compartilhar em outros sites

  • 0

Matheus Freitas:

Explica melhor essa segunda dúvida...você quer fazer uma consulta na coluna Produtos... e postar o resultado no DataGrid ? é isso ? mais de um produto em uma mesma pesquisa ? é isso também ?

Diz aê, como você está dando a opção de escolha da pesquisa ? é em TextBox, InputBox, CheckBox...quando faço uma busca com mais de uma variável (no caso aqui, produto), uso CheckBox...mas nesse caso eles são pré-definidos...

Dê mais detalhes para nós :blush:

Link para o comentário
Compartilhar em outros sites

  • 0

É cara explica melhor ai porque eu também não entendi... você quer q liste num datagrid.. ta, mas partindo de q principio? vai se listbox, check, como??

Pode fica tranquilo postando suas duvidas ae que não ta incomodando não, tamo aqui no forum para ajudar e sermos ajudados :D

Abraços :D

Link para o comentário
Compartilhar em outros sites

  • 0

Bem olha só?

Fiz uma tabela de Vendas; (frmVendas)

Coloquei la

CodVenda

Cliente

Produtos

DataCompra

Valor Compra

Parcela

Valor Parcela

OK

Fiz 2 outro Form de Pesquisa ( Clientes e Produtos) e neles coloquei um DATAGRID, UM COMMAND BUTTON e um ADODC e fiz uma especie de pesquisa.

Clientes (frmPesquisa1)

Direcionei o ADODC para o banco e coloquei a seguinte SQL

select Nome,Endereço,Bairro,Telefone,Limite, Rg from Clientes
no DATAGRID coloquei o seguinte
Private Sub DataGrid1_Click()
frmVendas.txtCliente = DataGrid1
End Sub
e no Botão coloquei
Private Sub cmdOk_Click()
Unload Me
End Sub
na tabela Produtos(frmPesquisa2) coloquei as mesmas coisa so trocando o SQL e o nomes dos texts.
Private Sub cmdOk_Click()
Unload Me
End Sub

Private Sub DataGrid1_Click()
frmVendas.txtProduto = DataGrid1
End Sub

Entaun na tabela Vendas (frmVendas) la do inicio do lado de Clientes eu coloquei um Botao que chama a pesquisa de Clientes no caso a Pesquisa1 (frmPesquisa1), la se seleciono o nome do Cliente aperto o botao OK. e o campo CLIENTE aparece preenchido com o nome da pessoa.

no lado de Produtos coloquei outro botão que chama a outra pesquisa (frmPesquisa2), faço o mesmo esquema e da anterior. Porem como as pessoas podem comprar mais de 1 produto por vez queria ir armazenando estes produtos em um DATAGRID no proprio formulario para depois salvar no banco. todos juntos entende. Senao eu teria q fazer uma venda por vez com cada produto separado.

Teria como fazer isto agrupar varios produtos em um so banco.

E complicado derrepente nem vo fazer isto. mas se der vou fica mais com cara de sistema de vendas. kkkkkkkk

vlw

abraços a vocês

Link para o comentário
Compartilhar em outros sites

  • 0

Cara... no imaginario assim é tenso kkk, você não precisa divulga seu projeto, mas você poderia postar ou enviar esses formularios q você ta usando? ou se não, fazer um similar, porque to perdidinho e em vez de ajudar posso te atrapalhar ou deixar confuso...

Qualque coisa só manda

matheus.rubens@hotmail.com

Abraços :D

Link para o comentário
Compartilhar em outros sites

  • 0

Cara olha só. Hj e o dia de apresentar o meu TCC. Portanto deixei, e não fiz este esquema. vlw pela ajuda de vocês.

Não te estressa, vo upa ele no 4 Shared e te passo o link OK.

so pre ti ver a encrenca q fiz!!!

não vale rir dos meus códigos OK

ISto e tudo que meus curso de Técnico me forneceu de conhecimento.

Aprendi mais aqui, lendo apostilas e coversando com vocês do q lá!!! :wacko:

Mas eu vou fazer uma FACULDADE agora e vou entrar mais a fundo na Programação...

Depois posto o link

Abraço vlwwww"

Abraço e Sucesso pra vocês :rolleyes:

Link para o comentário
Compartilhar em outros sites

  • 0

É cara, eu penso, (comecei a pensa hj na vdd kk) q o curso só serve mesmo pra ve se a materia te atrai e se é naquilo que você quer seguir, porque conhecimento mesmo você busca correndo atras, e o fórum facilita isso, pois quem ta aqui, com ctz alguma vez já ajudou alguém, ao contrario de muitos q a gente ve por ai e dizem um simples não... como já aconteceu mtas vezes cmg no tecnico, as vezes já vi coisas diferentes, quis aprender e recebi um não, mas que bom que estamos no século XXI e temos a INTERNET :D

Esse ano acaba meu curso :D -(espero)-

Abraços e boa sorte :D

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...