Ir para conteúdo

POWERED BY:

Arquivado

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

ricardovg

Criar matriz bidimensional ...

Recommended Posts

Gente ... é assim ....Fiz um select :Select Count(Id) As Total From tabelaTotalRegistro = rsTotal("Total")-------------------------------------------------------Fiz este código pra criar uma matriz bidemensional, ms deu erro :Dim matAgenda(10, totalregistro )Tipo de erro:Erro de compilação do Microsoft VBScript (0x800A0402)Constante inteira esperada/agenda/exporta/NovoCalendario.asp, line 92, column 17Dim matAgenda(10,varTotalAgenda)----------------^Tá pedindo um número... como faço ela aceitar um valor de uma variável ?ValeuFuiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii. <_<

Compartilhar este post


Link para o post
Compartilhar em outros sites

Na declaração de um array não é aceito variáveis!

Declare normalmente e use o Redim para redimensionar seu array:

Dim matAgenda(10,10)
'seu select
Redim matAgenda(10,totalregistro)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa,

 

Queria saber se alguém saberia fazer uma união de 2 arrays que tenho aqui, logo, transformando em um array bidimensional.

 

Vejam:

 

Dim rs, arrTabelas, arrResultados, xset rs = server.CreateObject("ADODB.Recordset")arrTabelas = Array("campanhas","categorias","subcategorias","clientes","produtos")arrResultados = Array()For x = LBound(arrTabelas) To UBound(arrTabelas) Step 1	ReDim Preserve arrResultados(x)	rs.open("SELECT COUNT(*) AS total FROM " & arrTabelas(x) ),db,0,1  arrResultados(x) = rs(0)	rs.closeNextset rs = nothing

Compartilhar este post


Link para o post
Compartilhar em outros sites
MyTables = Array("campanhas,categorias,subcategorias,clientes,produtos")Dim MeuArrayRedim MeuArray(Ubound(MyTables),1)For i = 0 To Ubound(MeuArray)strSQL = "Select Count(*) from " & MeuArray(i)Set ORs = Conn.Execute(strSQL)MeuArray(i,0) = myTables(i)MeuArray(i,1) = ORs(0)Next

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeu brother!

 

Estava me confundindo antes com javascript na hora de criar um array.. taav fazendo arr(0)(0).. confundi mesmo.. deve ser pq durmi só 4h :blink:

 

Mas enfim, segui seu exemplo.

Não há grande diferença, pois mesmo assim, tive de criar mais um array na page.

Queria conseguir era trabalhar em cima dakele array de tabelas, sem precisar criar outro, como fizestes.

 

Dim rs, arrTabelas, arrTD, x'arrTD - Tabela / Dado resultadoset rs = server.CreateObject("ADODB.Recordset")arrTabelas = Array("campanhas","categorias","subcategorias","clientes","produtos")ReDim arrTD(UBound(arrTabelas),1)For x = LBound(arrTabelas) To UBound(arrTabelas) Step 1	rs.open("SELECT COUNT(*) AS total FROM " & arrTabelas(x) ),db,0,1  arrTD(x,0) = arrTabelas(x)  arrTD(x,1) = rs(0)	rs.closeNextset rs = nothing

Houve diminução de 2 linhas de código, mas ficou:

- o array das tabelas

- um array com dados das tabelas e dos resultados

 

então não é conveniente.

 

no outro código, eu tenho 2 linhas a mais que este codigo acima, porém tem uma coisa boa:

- um array pras tabelas

- um array pros resultados

Não tem duas vezes os dados da tabela no código, só num array, não em dois arrays, como no outro.

 

Bem, mas só isso já está mto bom.

Pior seria se fizesse:

 

Dim rsset rs = server.CreateObject("ADODB.Recordset")dim totalCampanhasrs.open("SELECT COUNT(*) AS total FROM campanhas"),db,0,1totalCampanhas = rs(0)rs.closedim totalCategoriasrs.open("SELECT COUNT(*) AS total FROM categorias"),db,0,1totalCategorias = rs(0)rs.closedim totalSubCategoriasrs.open("SELECT COUNT(*) AS total FROM subcategorias"),db,0,1totalSubCategorias = rs(0)rs.closedim totalClientesrs.open("SELECT COUNT(*) AS total FROM clientes"),db,0,1totalClientes = rs(0)rs.closedim totalProdutosrs.open("SELECT COUNT(*) AS total FROM produtos"),db,0,1totalProdutos = rs(0)rs.closeset rs = nothing
hehehehe

 

Abraços!

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.