|
Postada em 27/01/2006 10:31 hs
Dim vgRegAtual As Variant 'registro atual Dim vgRegFind As Variant 'registro localizado vgRegAtual = mdiPrincipal.ActiveForm.adoTb.Recordset.Bookmark 'guarda registro atual 'verifica em que sentido deve efetuar a procura If txtValor.Text > mdiPrincipal.ActiveForm.adoTb.Recordset.Fields(lstCampos.ListIndex).Value Then 'vefirica o tipo de dado do campo seleciona If mdiPrincipal.ActiveForm.adoTb.Recordset.Fields(lstCampos.ListIndex).Type = adVarChar Then 'verifica se o operador for o LIKE, colocar o asterisco * If cboOperador.Text = "LIKE" Then mdiPrincipal.ActiveForm.adoTb.Recordset.Find lstCampos.Text + " " + cboOperador.Text + " " + "'*" + LTrim(RTrim(txtValor.Text)) + "*'", , adSearchForward Else mdiPrincipal.ActiveForm.adoTb.Recordset.Find lstCampos.Text + " " + cboOperador.Text + " " + "'" + LTrim(RTrim(txtValor.Text)) + "'", , adSearchForward End If ElseIf mdiPrincipal.ActiveForm.adoTb.Recordset.Fields(lstCampos.ListIndex).Type = adDate Then mdiPrincipal.ActiveForm.adoTb.Recordset.Find lstCampos.Text + " " + cboOperador.Text + " " + "#" + LTrim(RTrim(Str(txtValor.Text))) + "#", , adSearchForward ElseIf mdiPrincipal.ActiveForm.adoTb.Recordset.Fields(lstCampos.ListIndex).Type = adNumeric Then mdiPrincipal.ActiveForm.adoTb.Recordset.Find lstCampos.Text + " " + cboOperador.Text + " " + LTrim(RTrim(Str(txtValor.Text))), , adSearchForward End If Else 'vefirica o tipo de dado do campo seleciona If mdiPrincipal.ActiveForm.adoTb.Recordset.Fields(lstCampos.ListIndex).Type = adVarChar Then 'verifica se o operador for o LIKE, colocar o asterisco * If cboOperador.Text = "LIKE" Then mdiPrincipal.ActiveForm.adoTb.Recordset.Find lstCampos.Text + " " + cboOperador.Text + " " + "*'" + LTrim(RTrim(txtValor.Text)) + "*'", , adSearchBackward Else mdiPrincipal.ActiveForm.adoTb.Recordset.Find lstCampos.Text + " " + cboOperador.Text + " " + "'" + LTrim(RTrim(txtValor.Text)) + "'", , adSearchBackward End If ElseIf mdiPrincipal.ActiveForm.adoTb.Recordset.Fields(lstCampos.ListIndex).Type = adDate Then mdiPrincipal.ActiveForm.adoTb.Recordset.Find lstCampos.Text + " " + cboOperador.Text + " " + "#" + LTrim(RTrim(Str(txtValor.Text))) + "#", , adSearchBackward ElseIf mdiPrincipal.ActiveForm.adoTb.Recordset.Fields(lstCampos.ListIndex).Type = adNumeric Then mdiPrincipal.ActiveForm.adoTb.Recordset.Find lstCampos.Text + " " + cboOperador.Text + " " + LTrim(RTrim(Str(txtValor.Text))), , adSearchBackward End If End If mdiPrincipal.ActiveForm.intSituacao = INTACAO_NAVEGANDO 'ajusta situação do form 'verifica se encontrou algum registro If (Not mdiPrincipal.ActiveForm.adoTb.Recordset.EOF) And (Not mdiPrincipal.ActiveForm.adoTb.Recordset.BOF) Then mdiPrincipal.ActiveForm.Reposition 'atualiza controles com dados do registro vgRegFind = mdiPrincipal.ActiveForm.adoTb.Recordset.Bookmark 'carrega registro encontrado mdiPrincipal.ActiveForm.adoTb.Recordset.CancelUpdate 'cancela a atualização mdiPrincipal.ActiveForm.adoTb.Refresh 'executar o refresh da tabela mdiPrincipal.ActiveForm.adoTb.Recordset.Bookmark = vgRegFind 'volta para o registro encontrado 'ajusta valores das outras tabelas subListaColunas mdiPrincipal.ActiveForm, mdiPrincipal.ActiveForm.adoTb.Recordset.Fields(0).Value subListaFiltrosRel mdiPrincipal.ActiveForm, mdiPrincipal.ActiveForm.adoTb.Recordset.Fields(0).Value subListaSQLRel mdiPrincipal.ActiveForm, mdiPrincipal.ActiveForm.adoTb.Recordset.Fields(0).Value mdiPrincipal.ActiveForm.Refresh subPrepBotoes mdiPrincipal.ActiveForm, INTACAO_NAVEGANDO 'acerta icones dos botoes 'mdiPrincipal.ActiveForm.SetFocus 'volta o foco para o form Else 'se não encontrou, fica no registro atual mdiPrincipal.ActiveForm.Reposition 'atualiza controles com dados do registro mdiPrincipal.ActiveForm.adoTb.Refresh 'executar o refresh da tabela mdiPrincipal.ActiveForm.adoTb.Recordset.Bookmark = vgRegAtual 'volta para o registro atual 'ajusta valores das outras tabelas subListaColunas mdiPrincipal.ActiveForm, mdiPrincipal.ActiveForm.adoTb.Recordset.Fields(0).Value subListaFiltrosRel mdiPrincipal.ActiveForm, mdiPrincipal.ActiveForm.adoTb.Recordset.Fields(0).Value subListaSQLRel mdiPrincipal.ActiveForm, mdiPrincipal.ActiveForm.adoTb.Recordset.Fields(0).Value mdiPrincipal.ActiveForm.Refresh subPrepBotoes mdiPrincipal.ActiveForm, INTACAO_NAVEGANDO 'acerta icones dos botoes 'mdiPrincipal.ActiveForm.SetFocus 'volta o foco para o form End If Unload Me mdiPrincipal.ActiveForm.SetFocus 'volta o foco para o form
|
|
|