Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

rafaeldupalio

Cadastrar varios itens com a mesma descrição

Recommended Posts

Galera me ajudem tenho meu banco em access e a pagina em asp que inclui itens no banco até ae normal sem dificuldades, mas imagine lançar uma nota com 100 itens desses 100 divididos em grupos de 25 com a mesma descrição so mudando o numero de serie!

Como fazer para agilizar isso? ou seja preencher a descrição uma vez e colocar os 25 numeros de serie para serem gravados de uma vez so, e nao cadastrar um a um.

 

Li no famoso google sobre array se encaixaria na minha ideia?

Compartilhar este post


Link para o post
Compartilhar em outros sites

um loop no array pegando apenas os itens que não se repetem, dae insere no bd

Compartilhar este post


Link para o post
Compartilhar em outros sites

Galera to pensando aqui sozinho, se eu fizer um for ou um while para essa questao daria certo?

recolheria as variaveis

 

var_serie=request.form("serie")

var_processador=reques.form("processador")

var_memoria=reques.form("memoria")

var_hd=reques.form("hd")

 

do while var_serie<>""

 

if myRst.BOF and myRst.EOF then
vSql="INSERT INTO TAB_QUADRO_BRASFELS ("
vSql=vSql & "serie, ".....

um loop no array pegando apenas os itens que não se repetem, dae insere no bd

xanburzum nunca usei o array pode exemplificar?

Compartilhar este post


Link para o post
Compartilhar em outros sites

olha aqui

Compartilhar este post


Link para o post
Compartilhar em outros sites

Segue o código:

 

<%
campo_ct = request.form("campo_ct")
'Separa os valores do campo_ct tomando como base as suas vírgulas
campo_ct = split(campo_ct,",")

'Conta quantos valores foram separados pelo split
max = ubound(campo_ct)

campo_descricao = request.form("campo_descricao")
campo_modelo = request.form("campo_modelo")
campo_processador = request.form("campo_processador")

' Faz um LOOP enquanto o valor de i não for igual a quantidade dos valores separados no max do ubound
for i = 0 to max

'Grava cada campo na sua linha na sequencia vinda pelo formulário
sql = "insert into TAB_QUADRO_BRASFELS (campo_ct,campo_descricao,campo_modelo,campo_processador) values ('"trim(campo_ct(i))"','"&campo_descricao&"','"&campo_modelo&"','"&campo_processador&"')"
db.execute(sql)
next

' Aqui vai o código de sucesso, ou de retorno para alguma página informando que a inclusão foi concluída.
%>

 

Abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

execute o code acima e veja o resultado... siga conforme o Fábio fez, dando o Slipt, pegando ubound e jogando no for a SQL com a concatenação dos campos

Compartilhar este post


Link para o post
Compartilhar em outros sites

Segue o código:

 

<%

campo_ct = request.form("campo_ct")

'Separa os valores do campo_ct tomando como base as suas vírgulas

campo_ct = split(campo_ct,",")

 

'Conta quantos valores foram separados pelo split

max = ubound(campo_ct)

 

campo_descricao = request.form("campo_descricao")

campo_modelo = request.form("campo_modelo")

campo_processador = request.form("campo_processador")

 

' Faz um LOOP enquanto o valor de i não for igual a quantidade dos valores separados no max do ubound

for i = 0 to max

 

'Grava cada campo na sua linha na sequencia vinda pelo formulário

sql = "insert into TAB_QUADRO_BRASFELS (campo_ct,campo_descricao,campo_modelo,campo_processador) values ('"trim(campo_ct(i))"','"&campo_descricao&"','"&campo_modelo&"','"&campo_processador&"')"

db.execute(sql)

next

 

' Aqui vai o código de sucesso, ou de retorno para alguma página informando que a inclusão foi concluída.

%>

 

Abraços!

Fabio vou fazer o teste e posto aqui como ficou

execute o code acima e veja o resultado... siga conforme o Fábio fez, dando o Slipt, pegando ubound e jogando no for a SQL com a concatenação dos campos

blz vou fazer o teste xanburzum

Compartilhar este post


Link para o post
Compartilhar em outros sites

fiz o teste aparentemente ele executa e grava ate da a msg de cadastrado com sucesso mas qnd vou listar no banco nao cadastrou oque pode estar dadno errado? segue o codigo da pagina

 

<!-- #include file="conn.asp" -->
<%
Var_ct = request.Form("ct")
var_ct=split(ct,",")
max=ubound(var_ct)
Var_datafiscal = request.Form("datafiscal")
Var_nfiscal = request.Form("nfiscal")
Var_descricao = request.Form("descri")
Var_descricaoitem = request.Form("Descricaco_item")
Var_processador = request.Form("processador")
Var_memoria = request.Form("memoria")
Var_hd = request.Form("hd")
Var_data = date()
Var_win = request.form("windows")
Var_office = request.form("office")
Var_vuni = request.form("valor_uni")
VAR_STATUS = request.Form("status")
Var_Departamento = request.form("departamento")
Var_matricula = request.form("matricula")
VAR_usuario = request.Form("usuario")
Var_obs = request.Form("obs")
For i = 0 to max
vSql = "SELECT CT FROM TAB_QUADRO_BRASFELS WHERE CT='"&trim(var_ct(i))&"'"
Set myRst = Server.CreateObject("ADODB.Recordset")
myRst.Open vSql, conn, 3, 3
if myRst.EOF then
vSql="INSERT INTO TAB_QUADRO_BRASFELS ("
vSql=vSql & "ct, "
vSql=vSql & "Data_NF, "
vSql=vSql & "Nfiscal, "
vSql=vSql & "Descricao, "
vSql=vSql & "Descricao_item, "
vSql=vSql & "Processador, "
vSql=vSql & "Mem, "
vSql=vSql & "HD, "
vSql=vSql & "DATA, "
vSql=vSql & "Windows, "
vSql=vSql & "Office, "
vSql=vSql & "departamento, "
vSql=vSql & "matricula, "
vSql=vSql & "usuario, "
vSql=vSql & "STATUS, "
vSql=vSql & "OBS, "
vSql=vSql & "VALOR_UNI) values ('"
vSql=vSql & trim(var_ct(i)) & "','"
vSql=vSql & Var_datafiscal & "','"
vSql=vSql & Var_nfiscal & "','"
vSql=vSql & Var_descricao & "','"
vSql=vSql & Var_descricaoitem & "','"
vSql=vSql & Var_processador & "','"
vSql=vSql & Var_memoria & "','"
vSql=vSql & Var_hd & "','"
vSql=vSql & Var_data & "','"
vSql=vSql & Var_win & "','"
vSql=vSql & Var_office & "','"
vSql=vSql & Var_departamento & "','"
vSql=vSql & Var_matricula & "','"
vSql=vSql & Var_usuario & "','"
vSql=vSql & Var_STATUS & "','"
vSql=vSql & Var_obs & "','"
vSql=vSql & Var_vuni &"')"
Set myRst = Server.CreateObject("ADODB.Recordset")
myRst.Open vSql, conn, 3, 3
else
Response.Write("<script language='JavaScript'>alert('Item ja EXISTE em Estoque!');location.href='Estoque_bf.html';</script>")
end if
next
response.Write("<script type='text/javascript'>")
response.Write("document.location.href = 'Estoque_bf_lote.html';")
response.Write("alert('Item Cadastrado com sucesso!');")
response.write("</script>")
conn.close
%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi.

 

Mude o:

if myRst.EOF then

para

if not myRst.EOF then

 

- Esse Alert seu dessa forma vai dar problema.

- Acho melhor você criar uma variável e selecionar todos os campos CTs repetidos e caso tenha algum repetido, no final da inclusão exibe os valores em tela, pois dessa forma que você fez, caso tenha algo repetido vai anular todo o código.

 

Exemplo:

else

CT = CT + trim(var_ct(i))", "
msg1 = "Atenção: Itens em Duplicidade:" & CT
end if
next

 

response.Write("<script type='text/javascript'>")
response.Write("document.location.href = 'Estoque_bf_lote.html';")
response.Write("alert('Item Cadastrado com sucesso"&msg1&" !');" )
response.write("</script>")
conn.close

A lógica é essa acima.
Abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

Oi.

 

Mude o:

if myRst.EOF then

para

if not myRst.EOF then

 

- Esse Alert seu dessa forma vai dar problema.

- Acho melhor você criar uma variável e selecionar todos os campos CTs repetidos e caso tenha algum repetido, no final da inclusão exibe os valores em tela, pois dessa forma que você fez, caso tenha algo repetido vai anular todo o código.

 

Exemplo:

else

CT = CT + trim(var_ct(i))", "
msg1 = "Atenção: Itens em Duplicidade:" & CT
end if
next

 

response.Write("<script type='text/javascript'>")
response.Write("document.location.href = 'Estoque_bf_lote.html';")
response.Write("alert('Item Cadastrado com sucesso"&msg1&" !');" )
response.write("</script>")
conn.close

A lógica é essa acima.

Abraços!

 

Fabio apareceu a seguinte msg de erro:

 

Erro de compilação do Microsoft VBScript erro '800a0401'

Fim da instrução esperado

/estoque_bf_lote.asp, line 81

ct=ct+trim(var_ct(i))","

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eureca!

<%
Var_ct = request.Form("ct")
arrCT=split(var_ct,",")
Var_datafiscal = request.Form("datafiscal")
Var_nfiscal = request.Form("nfiscal")
Var_descricao = request.Form("descri")
Var_descricaoitem = request.Form("Descricaco_item")
Var_processador = request.Form("processador")
Var_memoria = request.Form("memoria")
Var_hd = request.Form("hd")
Var_data = date()
Var_win = request.form("windows")
Var_office = request.form("office")
Var_vuni = request.form("valor_uni")
VAR_STATUS = request.Form("status")
Var_Departamento = request.form("departamento")
Var_matricula = request.form("matricula")
VAR_usuario = request.Form("usuario")
Var_obs = request.Form("obs")
for x = lbound(arrCT) to Ubound(arrCT)
vSql = "SELECT CT FROM TAB_QUADRO_BRASFELS WHERE CT='"&arrCT(x)&"'"
Set myRst = Server.CreateObject("ADODB.Recordset")
myRst.Open vSql, conn, 3, 3
if myRst.BOF and myRst.EOF then
vSql="INSERT INTO TAB_QUADRO_BRASFELS ("
vSql=vSql & "ct, "
vSql=vSql & "Data_NF, "
vSql=vSql & "Nfiscal, "
vSql=vSql & "Descricao, "
vSql=vSql & "Descricao_item, "
vSql=vSql & "Processador, "
vSql=vSql & "Mem, "
vSql=vSql & "HD, "
vSql=vSql & "DATA, "
vSql=vSql & "Windows, "
vSql=vSql & "Office, "
vSql=vSql & "departamento, "
vSql=vSql & "matricula, "
vSql=vSql & "usuario, "
vSql=vSql & "STATUS, "
vSql=vSql & "OBS, "
vSql=vSql & "VALOR_UNI) values ('"
vSql=vSql & arrCT(X) & "','"
vSql=vSql & Var_datafiscal & "','"
vSql=vSql & Var_nfiscal & "','"
vSql=vSql & Var_descricao & "','"
vSql=vSql & Var_descricaoitem & "','"
vSql=vSql & Var_processador & "','"
vSql=vSql & Var_memoria & "','"
vSql=vSql & Var_hd & "','"
vSql=vSql & Var_data & "','"
vSql=vSql & Var_win & "','"
vSql=vSql & Var_office & "','"
vSql=vSql & Var_departamento & "','"
vSql=vSql & Var_matricula & "','"
vSql=vSql & Var_usuario & "','"
vSql=vSql & Var_STATUS & "','"
vSql=vSql & Var_obs & "','"
vSql=vSql & Var_vuni &"')"
Set myRst = Server.CreateObject("ADODB.Recordset")
myRst.Open vSql, conn, 3, 3
else
Response.Write("<script language='JavaScript'>alert('Item ja Existe em Estoque!');location.href='Estoque_bf_lote.html';</script>")
end if
next
response.Write("<script type='text/javascript'>")
response.Write("document.location.href = 'Estoque_bf_lote.html';")
response.Write("alert('Item Cadastrado com sucesso!');")
response.write("</script>")
%>
Dessa maneira deu certo! agradeço ao xanburzum e em especial ao fabio que sem as dicas dele nao conseguiria chegar neste codigo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Beleza... fico feliz que conseguiu

10334340_787697431274055_834155699042427

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi.

 

Sobre a linha 81,

/estoque_bf_lote.asp, line 81

ct=ct+trim(var_ct(i))","

 

talvez isso resolva:

else

CT = CT + trim(var_ct(i)) &", "
msg1 = "Atenção: Itens em Duplicidade:" & CT
end if
next

 

 

Abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi.

 

Sobre a linha 81,

/estoque_bf_lote.asp, line 81

ct=ct+trim(var_ct(i))","

 

talvez isso resolva:

else

CT = CT + trim(var_ct(i)) &", "
msg1 = "Atenção: Itens em Duplicidade:" & CT
end if
next

 

 

Abraços!

Flçw fabio vou fazer o teste aki e retorno.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.