- Fórum WMO
- → Viewing Profile: Posts: KBR
Community Stats
- Group Usuários
- Active Posts 392
- Profile Views 2122
- Member Title kl3b3r
- Age 37 years old
- Birthday April 26, 1986
-
Sexo
Não informado
-
Localidade
Mauá - SP
-
Interesses
ASP // DESENVOLVIMENTO WEB // MYSQL // ACCESS // FLASH // FIREWORKS // DREAMWEAVER // REDES
Posts I've Made
In Topic: Verificar Sintaxe Do Email Antes De Cadastar
27/05/2011, 12:13
Utilize o on error resume next para tratar esse tipo de erro.
In Topic: Sistema De Importação De Dados
21/10/2010, 19:00
Ainda não deu certo.
Vou explicar passo a passo o que estou fazendo para que possa verificar onde estou errando. O que eu teria que fazer aqui seria um array dento de outro array, porque primeiro preciso dividir as linhas e depois dividir os campos de cada linha. Segue abaixo meu código... o resultado vou postar como se meu arquivo de importação tivesse 3 linhas/registros.
RESULTADO
Até aí maravilha, consegui dividir as linhas. Agora preciso capturar os campos, do campo1 ao campo7, ou seja, criar um outro array dividindo pelo |
ERRO
Onde a linha 27 é preco1 = campo(1)
Se eu deixo somente o campo(0) ele não dá erro e me retorna somente o primeiro campo de cada registro, mas do 1 em diante ele dá esse erro.
Alguém sabe o que pode ser?
Abraços e obrigado.
Resolvi da seguinte maneira
Vou explicar passo a passo o que estou fazendo para que possa verificar onde estou errando. O que eu teria que fazer aqui seria um array dento de outro array, porque primeiro preciso dividir as linhas e depois dividir os campos de cada linha. Segue abaixo meu código... o resultado vou postar como se meu arquivo de importação tivesse 3 linhas/registros.
importacao = request("importacao") importacao = replace(importacao," ","|") importacao = replace(importacao,"||||||||","|") importacao = replace(importacao,"|||||||","|") importacao = replace(importacao,"||||||","|") importacao = replace(importacao,"|||||","|") importacao = replace(importacao,"||||","|") importacao = replace(importacao,"|||","|") importacao = replace(importacao,"||","|") importacao = replace(importacao,chr(13),"<br>") importacao = split(importacao,"<br>") for each produto in importacao response.write produto&"<br>" next
RESULTADO
000001|4.2500|6.4000|1.650|1.950|2.550|-3.0000
000002|1.7000|2.4000|2.260|2.470|2.580|-3.0000
000003|0.5900|0.9000|8.600|9.440|10.780|3.0000
Até aí maravilha, consegui dividir as linhas. Agora preciso capturar os campos, do campo1 ao campo7, ou seja, criar um outro array dividindo pelo |
importacao = request("importacao") importacao = replace(importacao," ","|") importacao = replace(importacao,"||||||||","|") importacao = replace(importacao,"|||||||","|") importacao = replace(importacao,"||||||","|") importacao = replace(importacao,"|||||","|") importacao = replace(importacao,"||||","|") importacao = replace(importacao,"|||","|") importacao = replace(importacao,"||","|") importacao = replace(importacao,chr(13),"<br>") importacao = split(importacao,"<br>") for each produto in importacao campo = split(produto,"|") codigo = campo(0) preco1 = campo(1) next
ERRO
Tipo de erro:
Erro de tempo de execução do Microsoft VBScript (0x800A0009)
Subscrito fora do intervalo: '[number: 1]'
/89embalagens.com.br/teste.asp, line 27
Onde a linha 27 é preco1 = campo(1)
Se eu deixo somente o campo(0) ele não dá erro e me retorna somente o primeiro campo de cada registro, mas do 1 em diante ele dá esse erro.
Alguém sabe o que pode ser?
Abraços e obrigado.
Resolvi da seguinte maneira
Set upl = Server.CreateObject("SoftArtisans.FileUp") upl.Path = "e:\vhosts\\httpdocs\__upl\" upl.Save arquivo="dados.txt" upl.form("Arquivo").SaveAs "e:\vhosts\\httpdocs\__upl\"&arquivo set confile = createObject("scripting.filesystemobject") set fich = confile.OpenTextFile(server.mappath("../__upl/dados.TXT")) conta=0 Do while not fich.AtEndOfStream conta=conta+1 Linha = fich.ReadLine() Linha = replace(Linha," ","|") Linha = replace(Linha,"||||||||","|") Linha = replace(Linha,"|||||||","|") Linha = replace(Linha,"||||||","|") Linha = replace(Linha,"|||||","|") Linha = replace(Linha,"||||","|") Linha = replace(Linha,"|||","|") Linha = replace(Linha,"||","|") arrayLinha = split(linha, "|", -1, 1) if ubound(arrayLinha)=6 then codigo = int(arrayLinha(0)) custo = replace(formatnumber(replace(arrayLinha(1),".",","),2),",",".") venda = replace(formatnumber(replace(arrayLinha(2),".",","),2),",",".") revenda = replace(formatnumber(replace(arrayLinha(3),".",","),2),",",".") promocional = replace(formatnumber(replace(arrayLinha(4),".",","),2),",",".") normal = replace(formatnumber(replace(arrayLinha(5),".",","),2),",",".") estoque = cdbl(replace(arrayLinha(6),".0000","")) sql = "update tab_produtos set valor='"&normal&"', valor_promocional='"&promocional&"', valor_custo'"&custo&"', valor_venda='"&venda&"', valor_revenda='"&revenda&"' where codigopadrao="&codigo&"" connect.execute(sql) 'response.write sql&"<br>" 'response.write codigo&"<br>" else if conta=1 then session("msg")= "<script language = javascript>alert('Erro!')</script>" response.redirect "?" end if end if loop fich.close() session("msg")= "<script language = javascript>alert('Valores atualizados com sucesso!')</script>" response.redirect "?"
In Topic: Sistema De Importação De Dados
20/10/2010, 13:11
É uma aplicação que eu estou desenvolvendo e o banco é MySql.Como as colunas são de tamanho fixo, o negócio é usar Mid. Se a importação não for parte do sistema, mas só uma coisa que você precise fazer agora, dependendo do banco, ele pode ter algum assistente de importação que poupe você do trabalho de escrever o código. O Access e o SQL Server eu sei que tem.
Como eu usaria MID? Eu não teria que usar um split e um array antes?
Abraços.
- Fórum WMO
- → Viewing Profile: Posts: KBR
- Privacy Policy
- Regras ·