Ajuda em Pesquisas (Vb6 & Access 2003)

kripton2007

Power Member
Ola a todos...


estou aqui com um problema no desenvolvimento de um novo programa. Trata-se de um simples programa com uma ainda mais simples base de dados, contudo não deixa de não dar as suas dores de cabeça.
Então é o seguinte.....
Pretendo inserir uma form de pesquisas no programa em que está presente um conjunto de 3 optionbox que dºao a possibilidade de escolher o filtro para a pesquisa a efectuar, pesquisa essa que será introduzida numa única textbox.
O programa utiliza uma simples base de dados com apenas 1 tabela e 34 campos, na qual é feita a ligação através do DATA control e em que os resultados da pesquisa serão mostrados numa MSFlexGrid, sendo que ao clicar sobre o resultado pretendido, ele transporta os dados para um conjunto de textboxs referentes ao campo desse registo numa outra form do programa...

Sinceramente não estou a conseguir fazer nada disto... talvez seja cansaço, pois ultimamente tenho andado com muito trabalho!
Agradecia uma ajuda, o mais breve possivel, pois tenho alguma urgência em acabar o programa...
Deixo também uma imagem da área de pesquisas para dar uma ideia daquilo que pretendo!





Quanto à base de dados:
apenas existe 1 única tabela com o nome "Geral", que possui os seguintes campos:
n_cliente
ramo
n_apolice
nome
morada
cod_postal
residencia
bi
n_contribuinte
nascimento
estado_civil
telefone
profissao
carta
data
prazo
vencimento
capital
assist_viagem
ocupantes
desp_tratamento
modalidade
categoria
marca_modelo
matricula
cilindrada
ano_matricula
quadro
combustivel
premio
lotacao
peso_bruto
observacoes
observacoes2
telemovel
fax

o programa em si será muito simples, sendo que é so para adicionar um novo registo, modificar campos ou eliminar o registo!
Já agora... será possivel na MSFlexGrid apenas aparecerem os campos "n_cliente", "nome", "n_apolice" e "ramo", com os nomes direitos, tipo "Nº de Cliente", "Nome", "Nº da Apólice" e "Ramo".


agradeço a brevidade da ajuda!

Cumps
 
Não leves a mal, mas parece que não sabes programar. Isso torna-se óbvio porque não especificas em que parte estás a ter o problema e generalisas. Assim não motivas a que te ajudem. A malta não vai muito à bola com malta que não sabe fazer os trabalhos da escola. Afinal andas a estudar para aprender.


Ora para preencher a Grid eu usaria um código tipo este:
btnGo ... OnClick()

Código:
If rdoPor_Nome.[I]nome da propriedade que me esqueci[/I] = True Then
   DataSet1.Recordset[I](?)[/I] = .... [I](instrução de SQL)[/I] "SELECT * FROM Geral WHERE Geral.Nome = " + txtPesquisa.Text 
   MsFlexGrid1.[I]propriedade = [/I]DataSet1.Recordset[I](? não tenho a certeza!)[/I]
 Else
   If rdoPor_Num_Apolice........ = True Then
End If


Para a parte em que o utilizador clica na Grid, aí torna-se mais trabalhoso. Tens duas formas de passar a informação para as textboxes do outro form. Ou crias um array de textboxes e metes por ordem ascendente as textboxes de forma a q o campo nº 0 da Grid seja o mesmo da Textbox(0), e o campo 1 para a Textbox(1), etc, e metes num ciclo qualquer coisa como:

Código:
Dim i = 0
For MsFlexGrid1.Field(i) To MsFlexGrid1.Field([I]total - 1[/I])
   Textbox(i).Text = MsFlexGrid1.Fields(i)
   i = i + 1
Loop [I](?)[/I]

Este é, sem dúvida, o melhor método.


Senão tens de especificar qual a textbox que vai receber o conteúdo de cada campo na tabela. Isso vai dar uma grande trabalheira porque seria preciso fazer txtn_cliente.text = MsFlexGrid.Field("n_cliente")e o mesmo para o ramo, n_apolice, etc, etc, etc. Uma linha de código para cada textbox. Altamente ineficiente, seria um desperdício de tempo.

Nota que eu não me lembro de quase nada do código em si, ou do nome das propriedades, procedures, métodos, sintaxe (daí meter tanta coisa com ? e em itálico), etc, isto é só mesmo para ver se começas a pensar. Aprender a programar exige estar concentrado, sem interrupções ou ruídos, sem telemóveis ou messengers. São pequenos sacrifícios que se fazem para obter sucesso escolar/profissional.
 
Back
Topo