DICA COM ARQUIVO TXT
Como ficaria uma busca por codigo ?
Assim esta dando erro:
rs.Open [Ô]Select * from estoqe.txt where 0=[ô]*[Ô] & Text1.Text & [Ô]*[ô][Ô]
Assim esta dando erro:
rs.Open [Ô]Select * from estoqe.txt where 0=[ô]*[Ô] & Text1.Text & [Ô]*[ô][Ô]
Mostre um pedaço do arquivo texto.
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.
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.
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 & [Ô]*[ô][Ô]
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.
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.
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.
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.
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.
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.
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.
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
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
Tópico encerrado , respostas não são mais permitidas