Ir para conteúdo
Fórum Script Brasil
  • 0

Ajuda Please


Steven Tyler

Pergunta

Então galera to precisando mt de ajuda, to precisando entregar um sisteminha rápido e enrosquei um uma parte

é o seguinte:

uma nota fiscal para venda, eu insiro os produtos na venda em uma ms flexgrid e salvo os produtos em uma tabela e depois tenho q imprimir na folha os produtos junto com o resto q eu fiz, ta tudo certo com o resto.

só que eu imprimo por linha, quer ver como:

Printer.ScaleMode = vbCharacters
Printer.FontName = "Arial"


vsql = "select * from tbl_venda_item where codigo_venda like " & Vnvenda
Set tabela_item_venda = b_dados.OpenRecordset(vsql)

X = 8.2
Y = 21.9

Do While tabela_item_venda.EOF = False
    
    X = 8.2
    Printer.CurrentX = X
    Printer.CurrentY = Y
    Printer.FontSize = 9
    Printer.Print Format(tabela_item_venda("Codigo_Produto"), "00000#")
    
    X = 16
    Y = Y
    Printer.CurrentX = X
    Printer.CurrentY = Y
    Printer.Print tabela_item_venda("descricao")
    
    
    
          
    If tabela_item_venda("peso") <> "0,00Kg." Then
    X = 69.2
    Y = Y
    Printer.CurrentX = X
    Printer.CurrentY = Y
    Printer.FontSize = 7
    Printer.Print tabela_item_venda("peso")
    End If
    
    
    X = 75.5
    Y = Y
    Printer.CurrentX = X
    Printer.CurrentY = Y
    Printer.Print Format(tabela_item_venda("vunit"), "###,###0.00")
      
    X = 82.8
    Y = Y
    Printer.CurrentX = X
    Printer.CurrentY = Y
    Printer.Print Format(tabela_item_venda("vtotal_item"), "###,###0.00")
      
    
    
    Y = Y + 1
  
    
    tabela_item_venda.MoveNext
Loop

ou seja, eu imprimo os produtos de acordo com o código da venda, só q eu tenho q imprimir assim como na figura:

user posted image

só q ele imprimi a descricao em 1 linha só entenderam?

eu precisaria q na hora q a descricão tivesse mais de q 50 caracteres por exemplo ele pulasse uma a linha

Y, e depois quando fosse imprimir outro produto da tabela, ele imprimisse em linha reta como na figura, caso não tenha + de 50 caracteres. Será q alguém pode me salvar? valewwwwwwww

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0
eu precisaria q na hora q a descricão tivesse mais de q 50 caracteres por exemplo ele pulasse uma a linha

Y, e depois quando fosse imprimir outro produto da tabela, ele imprimisse em linha reta como na figura, caso não tenha + de 50 caracteres.

No texto acima, você mesmo já deu a solução para o seu próprio problema... Veja:

if len(tabela_item_venda("descricao"))>=50 then
  'divide a string em n caracteres por linha, incrementando o Y para as linhas subsequentes e imprimindo de acordo.
else
  Printer.Print tabela_item_venda("descricao")
endif

Para dividir a string você pode usar as funções Mid(), Left() ou Right(), por exemplo.

Abraços,

Graymalkin

Link para o comentário
Compartilhar em outros sites

  • 0
tipo eu já tinha meio q pensado nisso, só q eu sou meio iniciante né, e você pode me dar exemplos de como usar o mid, right ou left nesse caso ?

Uma breve explicação:

Mid(string, início, n) retorna uma substring a partir de início com o tamanho de n caracteres. Exemplo: msgbox mid("teste", 2, 3) 'Começa no 2 caractere e retorna uma sequência de 3 a partir dele (inclusive).

Left(string, n) retorna n caracteres a partir da esquerda. Exemplo: msgbox left("teste", 2)

Right(string, n) o mesmo que Left, porém a partir da direita. Exemplo: msgbox right("teste", 2)

Abraços,

Graymalkin

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...