USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  2 DUVIDAS EM INSERT COM ADO
Futura
PORTO FERREIRA
SP - BRASIL
Postada em 16/03/2006 10:36 hs            
1) O QUE REALMENTE TENHO QUE TRATAR NOS CAMPOS TEXTO E NUMERICO, AO EFETUAR UM INSERT OU UPDATE NO BANCO ? ESTOU TRATANDO APENAS O APÓSTROFO PARA CAMPOS TEXTO, E PARA VALORES ESTOU DANDO UM REPLACE TROCANDO A VIRGULA POR PONTO, MAS QDO USO A FUNÇÃO   FORMAT COMO A SEGUIR: "##,##0.00" - O REPLACE NÃO CONSEGUI SUBSTITUIR A VIRGULA POR PONTO, POR QUE ISTO OCORRE ?
2) USO UMA TABELA TEMPORÁRIA NO BANCO PARA GERAR IMPRESSÃO DE ETIQUETAS, E QDO O USUÁRIO CLICA EM IMPRIMIR, EU ESTAVA USANDO A CNN.EXECUTE, PARA LIMPAR ESTA TABELA, PRA PODER GRAVAR OS NOVOS CÓDIGOS E ABASTECER O RPT DO CRYSTAL, SÓ QUE SIMPLESMENTE, AO APARECER O RPT NO VIDEO, VINHA EM BRANCO, AI AO INVÉS DE LIMPAR A TABELA COM A CNN, PASSEI A ABRI-LA EM UM RECORDSET, E DELETAR OS REGISTROS, AI FUNCIONOU NORMAL. A IMPRESSÃO É QUE SANDO A CNN, E EM SEGUIDA ABASTECENDO A TABELA, E CHAMANDO O RPT, O MESMO NÃO CONSEGUE SE ATUALIZAR COM TAL TABELA, O QUE PODE SER ? ABAIXO SEGUE O CÓDIGO COMENTADO QUE USAVA ANTES, E O QUE USO AGORA NA FORMA DE RECORDSET:
 'Cnn.BeginTrans
 'Cnn.Execute ("delete * from ETIQUETAS")
 'Cnn.CommitTrans
 
 Set Rs = New ADODB.Recordset
 Rs.Open "etiquetas", Cnn, adOpenKeyset, adLockOptimistic
 If Not Rs.EOF Then
  Rs.MoveMin
  While Not Rs.EOF
   Rs.Delete adAffectCurrent
   Rs.MoveNext
  Wend
 End If
 
 For i = 1 To lstnome.ListItems.Count
  Rs.AddNew
  Rs!codigo = lstnome.ListItems(i)
  Rs!ref = lstnome.ListItems(i).SubItems(1)
  Rs!descricao = lstnome.ListItems(i).SubItems(2)
  Rs!vista = lstnome.ListItems(i).SubItems(3)
  Rs!PRAZO = lstnome.ListItems(i).SubItems(4)
  Rs.Update
 Next
 
 frmvendafim.dpl.WindowState = crptMaximized
 frmvendafim.dpl.WindowControlBox = True
 frmvendafim.dpl.ReportFileName = App.Path & "etq_3col_gondola.rpt"
 frmvendafim.dpl.Connect = ";PWD=PWD"
 frmvendafim.dpl.DiscardSavedData = True
 frmvendafim.dpl.Destination = 0
 frmvendafim.dpl.WindowShowPrintSetupBtn = True
 frmvendafim.dpl.Action = 1
 frmvendafim.dpl.Reset
 
     
vilmarbr
Pontos: 2843
SAO PAULO
SP - BRASIL
Postada em 16/03/2006 11:40 hs         
1) O QUE REALMENTE TENHO QUE TRATAR NOS CAMPOS TEXTO E NUMERICO, AO EFETUAR UM INSERT OU UPDATE NO BANCO ? ESTOU TRATANDO APENAS O APÓSTROFO PARA CAMPOS TEXTO (CORRETO), E PARA VALORES ESTOU DANDO UM REPLACE TROCANDO A VIRGULA POR PONTO (CORRETO) , MAS QDO USO A FUNÇÃO   FORMAT COMO A SEGUIR: "##,##0.00" - O REPLACE NÃO CONSEGUI SUBSTITUIR A VIRGULA POR PONTO, POR QUE ISTO OCORRE ?
Vc deveria apenas fazer o replace da vírgula por ponto, na hora de guardar o valor. Na hora de formatar, verifique qual Regional Settings da máquina, p/ q a formatação esteja correta:
PT-BR: FORMAT(12.36,"##,##0.00") 'retorna 12,36
ENG-US: FORMAT(12.36,"##,##0.00") 'retorna 12.36
 
2)
Vc não poderia dar um DROP TABLE NomeTabela ?
 
Espero q ajude em algo !
 

http://www.vilmarbro.com.br
     
Página(s): 1/1    

CyberWEB Network Ltda.    © Copyright 2000-2025   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página