|
Postada em 19/02/2006 22:08 hs
Distintos colegas, Num sistema criado em VB5, quando o usuário vai pesquisar um número de CNPJ que é pedido numa inputbox (ex.: 01.222.124/0001-55), ele entra apenas com os números, sem pontuação e sem o travessão “/” (01222124000155), pois apenas números são armazenados no banco de dados. A pesquisa no banco de dados é feita pelo método SEEK “=”, sendo que esse número fica armazenado numa variável. Assim, quando não existe um registro para esse CNPJ, uma msgbox informa que o CNPJ 01222124000155 não está cadastrado no sistema. Gostaria que esse número aparecesse devidamente formatado na msgbox “O CNPJ n° 01.222.124/0001-55 não está cadastrado no sistema”. Como devo proceder? E, supondo que esse CNPJ tenha três registros no sistema (três declarações de bens de anos diferentes), como posso apresentar uma msgbox informando que “Para esse CNPJ, foram encontrados 03 registros.”? A base de dados é do tipo mdb (contribuinte.mdb) e a tabela tem por nome (Juridica). (Eis o código da consulta por CNPJ): -------------------------------------- Private Sub cmdConsultarCNPJ_Click() Set BancoDeDados = OpenDatabase(App.Path & "Contribuinte.mdb") Set Tabela = BancoDeDados.OpenRecordset("Juridica", dbOpenTable) Dim ProcuraCNPJ As String Tabela.Index = "CNPJ" ProcuraCNPJ = InputBox("Digite o número do CNPF:" & Chr(13) & _ "Obs.: não utilize pontos nem hífen.", "Procura pelo CNPJ") If ProcuraCNPJ = "" Then cmdOrganizar.Visible = True cmdOrganizar_Click cmdOrganizar.Visible = False Exit Sub Else Tabela.Seek "=", ProcuraCNPJ If Tabela.NoMatch = False Then MsgBox "Clique no botão <Próximo> para pesquisar" & Chr(13) & _ "outras declarações para o mesmo CNPJ...", vbOKOnly, "CNPJ localizado no sistema ..." AtualizaFormulario 'Preenche os campos do form. cmdPrimeiro.Enabled = False cmdUltimo.Enabled = False cmdOrganizar.Visible = True Else MsgBox "Não há declaração cadastrada " & Chr(13) & _ "para o CNPJ nº " & ProcuraCNPJ & " ...", vbOKOnly + vbInformation, "CNPJ não cadastrado" AtualizaFormulario End If End If End Sub -------------------------------------------------- Agradeço a inestimável colaboração.
|
|
|
|
|
Postada em 20/02/2006 07:28 hs
Private Sub Form_Load() CGC = "01222124000155" CGC = FormataCGC(CStr(CGC)) MsgBox CGC End Sub Public Function FormataCGC(CGC As String) As String FormataCGC = Mid(CGC, 1, 3) & "." & Mid(CGC, 4, 3) & "." & Mid(CGC, 7, 3) & "/" & Mid(CGC, 9, 4) & "-" & Right(CGC, 2) End Function
|
|
|
|
Postada em 20/02/2006 10:13 hs
CGC = "01234567000012" CGC = Format(CGC, "##,###,###/####-##") Isso formata... Qto a verificar qtos tem, vc deve mudar o modo de fazer a busca... ao inves de usar o SEEK ou o FIND e navegar em um recordset, eu aconselho q vc execute uma instrução SQL com a funcao COUNT na tabela, para saber qtos tem... se retornar ZERO é pq nao tem nenhuma... Flw!
Elieser Carlos Topassi Analista de Sistemas - Desenvolvedor VB/ASP/.Net
e-mail/msn: elieser_topassi@yahoo.com.br
São José do Rio Preto,SP - Brasil _____________________________________________________
"O caminho do tolo aos seus prórios olhos lhe parece reto, mas o sábio ouve conselhos" (Pv 12:15)
|
|
|
|
Postada em 27/02/2006 19:45 hs
rsTABELA.Index="CNPJ" rsTABELA.Seek"=",CNPJ.Text If rsTABELA.NoMatch Then MsgBox "Não foi encontrado" Else iQUANT=0 Do While Not rsTABELA.Eof IF rsTABELA!CNPJ = CNPJ.Text Then iQUANT = iQUANT + 1 Else Exit Do End If rsTABELA.MoveNext Loop msgbox = Str(iQUANT) & " Registros encontrados" End If Depois faz a formatação Simples e prático.
|
|
|
|
Postada em 01/03/2006 10:24 hs
 Agradeço imensamente a colaboração. Valeu mesmo. Chico.
|
|
|
|