DICA COM ARQUIVO TXT

RICOCARDOZO 04/12/2016 01:29:23
#469403
Como ficaria uma busca por codigo ?
Assim esta dando erro:
rs.Open [Ô]Select * from estoqe.txt where 0=[ô]*[Ô] & Text1.Text & [Ô]*[ô][Ô]
KERPLUNK 04/12/2016 15:52:08
#469410
Mostre um pedaço do arquivo texto.
RICOCARDOZO 04/12/2016 22:13:10
#469415
Ola o layout e assim,
CODIGO PROD | QUANTIDADE |DESCRIÇÃO | VALOR UNITARIO

No arquivo texto esta assim

00091706,00011,BALA A BUTTER TOFFE CHOCOLATE 600G,8,65
00091707,00011,BALA A BUTTER TOFFE COCO 600G,9,44
00003286,00001,COLA THREE BOND 2G DISPLAY 24UN,21,86
00091595,00005,DOCE NUTRIBONN MARIA BONITA CX50 1 2K,14,08

Dai ,funciona assim em uma grade carrego uma nota ,que geralmente possui uns 5 itens ,dai faço a busca no recordset pelo codigo do produto , caso exista faço a ediçao e somo com o que esta no recordset , caso nao exista inclui-o como novo, dai gero um novo estoque.txt.

Essa seria a minha ideia.



KERPLUNK 05/12/2016 01:11:38
#469417
Certo, um CSV típico sem nomes de campos. Nesse caso, os campos passam a ter a nomenclatura padrão [Ô]F[Ô]. [Ô]F1[Ô] para o primeiro campo, [Ô]F2[Ô] para o segundo e etc. Então sua query fica:

rs.Open [Ô]Select * from estoqe.txt where F1=[ô]*[Ô] & Text1.Text & [Ô]*[ô][Ô]
KERPLUNK 05/12/2016 23:27:10
#469439
E então, deu certo? Outra coisa que reparei só agora, é o preço do produto no final. Não use vírgula para separar centavos. A vírgula no seu caso está sendo usada para separar campos, então quando abrir o arquivo, o preço estará em dois campos diferentes, o que pode não ser uma boa. Use ponto.
RICOCARDOZO 06/12/2016 01:16:23
#469444
Kerplunk , muito obrigado por hora, sua ajuda foi importantíssima ,este site é foda nunca me deixa na mão.
Agora estou , pensando em uma ideia para carregar os xml que visualizo na grade.
Minha ideia funciona assim;
Se Deus quiser um dia funciona rs
Tenho um diretório onde pretendo baixar os xml (fornecedores) , via Uninfe ou outro dll , por enquanto até eu conseguir usar o do site.

No meu sistema visualizo as nfe que estão neste diretório , em uma grade.
Com dois click abro uma nova grade com os itens que compõe a nfe e dou a opção de importar para o estoque , este que você me ajudou a criar.
Faço as verificações pelo código , e cnpj da empresa para saber se a mercadoria a importar já se encontra cadastrada, caso exista ,não importo , só somo ao estoque ,e junto já importo as dulplicatas e crio o contas a pagar.
Gero uma novo txt atualizado , e posso usá-lo como fonte para diversos dados , como produtos mais vendidos , q menos saem , custo de aquisição , cadastro já para as vendas futuras também , etc.
Pretendo fazer algo que possua no máximo 4 forms.
Um com os dados importantes da empresa , tributação e configurações que precisam para a emissão das Nfc-e e NFe.
Outro que é nada mais que uma grid , com as informações das notas a serem importadas e as que já foram importadas.
Outro com o estoque atual.
E outro para relatórios.

Eu gosto muito de programar em vb,estou sem programar as uns 8 anos , sem tempo mesmo por causa dos filhos , e pelo meu trabalho,
Mais hoje me deparei com situações , que pensei vou tentar unir o útil ao agradável , hoje minha função é analista fiscal , tenho muita experiência nesta área de tributação , fiscal e me deparo todos os dias com clientes , loucos por não acharem uma ferramenta que satisfaça o as suas necessidades.
Ou o cara compra algo que tem milhões de informações e ele não está preparado nem para operár , nem saco pra aprender , vejo empresas que querem só emitir uma nota que é muito fácil de criar uma rotina , para emissão , sem dar milhões de voltas , criar n comandos ,ou preencher 50 campos.
Então com a grande bagagem que tenho na área tributável e com um pouco de experiência é muita vontade de programar vou tentar fazer algo para estes clientes ,pequenos mais que contribuem com 90% das empresa deste país , ou seja um grande mercado que está se abrindo.
E te digo , simples e eficiente , este é meu lema , e deste jeito que eles querem , é claro barato também.
Não sei se você conhece o aplicativo gratuito , de São Paulo que é feito em Java , cara é horrível , e tem um monte de cara que usa , imagine se você consegue criar algo pratico , nossa vendendo por um preço justo , você vai ganhar muito dinheiro .
Estou fazendo em vb6 mesmo , não tenho tempo por enquanto pra net, e percebi que o vovô continua bem , pelo menos para este projeto que tenho em mente , estou usando umas 6 ocx , no máximo 7 forms , cálculo que vai ter no máximo de um 3 a 5 gigas , ou seja se marcar jogo no Dropbox ou one drive , eexecuto direto , ou seja o cara roda onde quiser levinho ,até na casa dele ele pode dar uma olhada no fluxo de caixa.

Não sei se sou louco mais tenho umas ideias que carrego comigo , só falta tempo pra por em pratica , e sou apaixonado por programação , acho fantástico poder criar , algo que vai facilitar a vida de muita gente e vb é você poder materializar qualquer ideia é por pra funcionar.



KERPLUNK 06/12/2016 02:21:21
#469445
Eu também tenho idéias para pôr em prática. Muitas mesmo. Algumas que se encontrar quem [Ô]venda[Ô], tenho certeza que o dinheiro vai chover em pouquíssimo tempo. Esse da emissão da NFe, é coisa que meio que previ que teria uma [Ô]caralhada[Ô] de gente sendo pego com as calças na mão. Há anos que vinha falando para se atualizarem nisso e ficavam no [Ô]embromation[Ô]. Muita gente me pediu [Ô]não pode criar para mim um aplicativo simples para emissão de Nfe?[Ô] muita gente mesmo.

Uma das idéias que tenho, é algo que não existe, um nicho nunca explorado. Todos querem algo assim, todos precisam de algo assim, mas não existe nenhum produto capaz de atender. Se eu achar quem venda, com certeza me aposento em menos de 5 anos com dinheiro suficiente para gastar à vontade. é uma junção de várias coisas absolutamente necessárias para qualquer empresa, mas que ninguém tem, nem os [Ô]grandões[Ô].

E acabei esquecendo, me perdi nos pensamentos aqui... O que você quer fazer com as NFe, vai ser muito mais difícil ser feito em VB/VBA, por causa do tipo de dados envolvido: XML. VB/VBA, apesar de possível de se trabalhar com XML, não é lá o forte não e dá mais problema que solução.
RICOCARDOZO 22/06/2017 11:31:11
#474663
Olá bom dia ;
Estou retornando a este projeto e gostaria de uma dica :
anexei uma tela de como ficou o formulário de inclusão no estoque.

Estou abrindo o banco de dados estoque em ado , você tinha mencionado que era melhor trabalhar com recordset.
Agora gostaria de uma luz ,
Comparar os produtos da grade com o que tem no banco de dados.
Caso tenha o mesmo produto soma-se a quantidade , caso não exista inclui.

Será que consigo fazer via sql na memoria ?
Dai ao fechar a conexao gerar o txt novamente.
RICOCARDOZO 22/06/2017 11:34:55
#474664
Ops esqueci de postar o codigo.

Private Sub Form_Load()
formata_grade
Carrega_Produtos
End Sub
Private Sub Abre_banco()
Dim cnn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim Caminho As String

Set cnn = New ADODB.Connection
Set rs = New ADODB.Recordset

Caminho = App.Path & [Ô]\Estoque[Ô]
cnn.Open [Ô]Provider=Microsoft.Jet.OLEDB.4.0;Data Source=[Ô] & Caminho & [Ô];Extended Properties=[Ô][Ô]text;HDR=No;FMT=Delimited[Ô][Ô][Ô]

rs.CursorLocation = adUseClient

cnn.Close
Set cnn = Nothing
End Sub
Private Sub Carrega_Produtos()
On Error Resume Next
Dim linha As Integer
linha = 1

Dim numeronfe As String

Dim Arq As String
Arq = Dir(App.Path & [Ô]\Xml_Entradas\*.xml[Ô])

Do While Arq <> [Ô][Ô]
Dim XMLdoc As New DOMDocument
XMLdoc.Load App.Path & [Ô]\Xml_Entradas\[Ô] & Arq

Grade.Rows = Grade.Rows + XMLdoc.getElementsByTagName([Ô]infNFe/det[Ô]).length - 1

Dim nodeList As IXMLDOMNodeList
Dim node As IXMLDOMNode

Set nodeList = XMLdoc.selectNodes([Ô]nfeProc//NFe//*[Ô])

For Each node In nodeList
Select Case node.nodeName
Case [Ô]nNF[Ô]
numeronfe = Format(node.nodeTypedValue)
Grade.TextMatrix(linha, 0) = Format(node.nodeTypedValue)

Case [Ô]cProd[Ô]
Grade.TextMatrix(linha, 1) = Format(node.nodeTypedValue)
Grade.TextMatrix(linha, 0) = numeronfe

Case [Ô]xProd[Ô]
Grade.TextMatrix(linha, 2) = node.nodeTypedValue
Grade.TextMatrix(linha, 0) = numeronfe

Case [Ô]qCom[Ô]
Grade.TextMatrix(linha, 3) = Format(Val(node.nodeTypedValue), [Ô]00000[Ô])
Grade.TextMatrix(linha, 0) = numeronfe

Case [Ô]vUnTrib[Ô]
Grade.TextMatrix(linha, 4) = Format(Val(node.nodeTypedValue), [Ô]0.00[Ô])
Grade.TextMatrix(linha, 0) = numeronfe

linha = linha + 1
End Select
Next node
Arq = Dir()
Loop
End Sub
Página 2 de 2 [19 registro(s)]
Tópico encerrado , respostas não são mais permitidas