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
|
|
|
|
|
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
|
|
|
|