Notifications
Clear all

loop para executar query

13 Posts
1 Usuários
0 Reactions
2,679 Visualizações
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Pessoal tenho varias query's que preciso executar de uma vez só
.... resumidamente minha query = SQL1

Set rst = New ADODB.Recordset
With rst
.ActiveConnection = conn
' aqui ele executa
.Open sql , conn, adOpenDynamic, adLockBatchOptimistic

End With
Set rst = Nothing
conn.Close
end sub

Só que são 27 inserts ou seja sql1 á 27, como faço para fazer um loop para que ele vá executando até acabar as querys

de um jeito burro teria que fazer assim
.Open sql1 , conn, adOpenDynamic, adLockBatchOptimistic
.Open sql2 , conn, adOpenDynamic, adLockBatchOptimistic
.Open sql3 , conn, adOpenDynamic, adLockBatchOptimistic

..enfim

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 20/09/2010 2:05 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Duas perguntas antes de responder, qual banco de dados vc usa? e asquery estão salvas no Banco de dados ou vc as escreveu no vba?

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 23/09/2010 1:15 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Rodrigo estou usando um bando de dados em acces mesmo.
Essa query está sendo executada no vba mesmo!

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 24/09/2010 1:42 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Certo, mas a instrução (o select ou insert ou a instrução que vc usa) esta escrita no vba correto?

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 24/09/2010 3:41 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Isso isso mesmo..

Nao coloquei o códio todo aqui..
mas a query está funcionando ok.
tenho algumas querys.ex:

Sql1 = select* blab....
Sql2 = select* blab....
Sql3 = select* blab.... etc..

Queria usar um loop para exeutalas tudo de uma vez não sei se ficou claro.

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 25/09/2010 10:52 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Estou postando o exemplo abaixo eu recomendo que vc armazene os inserts na array sql e com isso você pode dar um loop e executar todas elas, não sei se você conhece o principio de transação(tem uma explicação no código) ele pode garantir que ou todos os inserts são aplicados ou nenhum, assim se tiver algum erro digamos no 23º todos são cancelados evitando que a base de dados seja afetada por uma ação incompleta.

Public Sub Exemplo()
Dim Trans As Boolean
Dim sql(26) As String
Dim cnn As ADODB.Connection
Dim i As Integer

On Error GoTo Chaos
'********************************************************
'Uma transação pode ser definida como um conjunto de
'operações(alteração,inclusão,exclusão,atualização,etc.)
'realizadas nos dados de uma aplicação em um dado momento.
'Uma transação tem o seu início no início de uma sessão
'e o seu término no encerramento da sessão
'(fechamento do programa ou operação.)
'********************************************************
'inicia uma transação
cnn.BeginTrans
    Trans = True 'com essa variavel eu controlo se o erro ocorreu depois de iniciar a transação
    For i = 0 To 26
        cnn.Execute sql(i)
    Next
'finaliza a transação
cnn.CommitTrans
Exit Sub
Chaos:
    'Desfaz a transação
    If Trans = True Then
        cnn.RollbackTrans
    End If
End Sub

Se ficou meio complicado me avisa que explico melhor. O Macoratti tem um artigo sobre Transações no artigo ele usa DAO, mas o principio é o mesmo para ADO http://www.macoratti.net/transa.htm outro artigo interesante é http://www.linhadecodigo.com.br/Artigo.aspx?id=386

Falando nisso não perguntei se você usa ADO ou DAO para acessar os dados.

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 25/09/2010 4:32 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Era isso mesmoo..saquei
Meu BD está no trampo segunda faço um teste e retorno..

Valeuu

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 25/09/2010 6:37 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Ok, eu acredito que deva funcionar, qualquer coisa avisa aew...

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 25/09/2010 7:43 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Rodrigo fiz alguns testes e não consegui. Estou colocando meu código abaixo para você me orientar onde eu insiro exatamente esses comandos.

Private Sub CommandButton2_Click()

Dim connectionString As String
connectionString = ThisWorkbook.Path & "/Northwind.mdb"
Dim conn As ADODB.Connection
Dim rst As ADODB.Recordset

sql1 = "INSERT INTO New_bd_feedback( codigo,ACRON, quem, tipo, quest, status, coment) VALUES( '" & lb_max.Caption & "','" & CB_FeedBack_User.Value & "' , '" & Label42.Caption & "','" & cb_feed_tipo.Value & "', '" & Plan7.Cells(3, 1).Value & "', '" & Plan7.Cells(3, 2).Value & "','" & TextBox1.Value & "')"
sql2 = "INSERT INTO New_bd_feedback( codigo,ACRON, quem, tipo, quest, status, coment) VALUES( '" & lb_max.Caption & "','" & CB_FeedBack_User.Value & "' , '" & Label42.Caption & "','" & cb_feed_tipo.Value & "', '" & Plan7.Cells(4, 1).Value & "', '" & Plan7.Cells(4, 2).Value & "','" & TextBox1.Value & "')"
sql3 = "INSERT INTO New_bd_feedback( codigo,ACRON, quem, tipo, quest, status, coment) VALUES( '" & lb_max.Caption & "','" & CB_FeedBack_User.Value & "' , '" & Label42.Caption & "', '" & cb_feed_tipo.Value & "','" & Plan7.Cells(5, 1).Value & "', '" & Plan7.Cells(5, 2).Value & "','" & TextBox1.Value & "')"
sql4 = "INSERT INTO New_bd_feedback( codigo,ACRON, quem, tipo, quest, status, coment) VALUES( '" & lb_max.Caption & "','" & CB_FeedBack_User.Value & "' , '" & Label42.Caption & "', '" & cb_feed_tipo.Value & "','" & Plan7.Cells(6, 1).Value & "', '" & Plan7.Cells(6, 2).Value & "','" & TextBox1.Value & "')"
sql5 = "INSERT INTO New_bd_feedback( codigo,ACRON, quem, tipo, quest, status, coment) VALUES( '" & lb_max.Caption & "','" & CB_FeedBack_User.Value & "' , '" & Label42.Caption & "', '" & cb_feed_tipo.Value & "','" & Plan7.Cells(7, 1).Value & "', '" & Plan7.Cells(7, 2).Value & "','" & TextBox1.Value & "')"
sql6 = "INSERT INTO New_bd_feedback( codigo,ACRON, quem,tipo, quest, status, coment) VALUES( '" & lb_max.Caption & "','" & CB_FeedBack_User.Value & "' , '" & Label42.Caption & "', '" & cb_feed_tipo.Value & "','" & Plan7.Cells(8, 1).Value & "', '" & Plan7.Cells(8, 2).Value & "','" & TextBox1.Value & "')"
sql7 = "INSERT INTO New_bd_feedback( codigo,ACRON, quem,tipo, quest, status, coment) VALUES( '" & lb_max.Caption & "','" & CB_FeedBack_User.Value & "' , '" & Label42.Caption & "', '" & cb_feed_tipo.Value & "','" & Plan7.Cells(9, 1).Value & "', '" & Plan7.Cells(9, 2).Value & "','" & TextBox1.Value & "')"
sql8 = "INSERT INTO New_bd_feedback( codigo,ACRON, quem,tipo, quest, status, coment) VALUES( '" & lb_max.Caption & "','" & CB_FeedBack_User.Value & "' , '" & Label42.Caption & "', '" & cb_feed_tipo.Value & "','" & Plan7.Cells(10, 1).Value & "', '" & Plan7.Cells(10, 2).Value & "','" & TextBox1.Value & "')"
sql9 = "INSERT INTO New_bd_feedback( codigo,ACRON, quem,tipo, quest, status, coment) VALUES( '" & lb_max.Caption & "','" & CB_FeedBack_User.Value & "' , '" & Label42.Caption & "', '" & cb_feed_tipo.Value & "','" & Plan7.Cells(12, 1).Value & "', '" & Plan7.Cells(12, 2).Value & "','" & TextBox1.Value & "')"
sql10 = "INSERT INTO New_bd_feedback( codigo,ACRON, quem,tipo, quest, status, coment) VALUES( '" & lb_max.Caption & "','" & CB_FeedBack_User.Value & "' , '" & Label42.Caption & "', '" & cb_feed_tipo.Value & "','" & Plan7.Cells(13, 1).Value & "', '" & Plan7.Cells(13, 2).Value & "','" & TextBox1.Value & "')"
sql11 = "INSERT INTO New_bd_feedback( codigo,ACRON, quem,tipo, quest, status, coment) VALUES( '" & lb_max.Caption & "','" & CB_FeedBack_User.Value & "' , '" & Label42.Caption & "', '" & cb_feed_tipo.Value & "','" & Plan7.Cells(14, 1).Value & "', '" & Plan7.Cells(14, 2).Value & "','" & TextBox1.Value & "')"
sql12 = "INSERT INTO New_bd_feedback( codigo,ACRON, quem,tipo, quest, status, coment) VALUES( '" & lb_max.Caption & "','" & CB_FeedBack_User.Value & "' , '" & Label42.Caption & "', '" & cb_feed_tipo.Value & "','" & Plan7.Cells(15, 1).Value & "', '" & Plan7.Cells(15, 2).Value & "','" & TextBox1.Value & "')"
sql13 = "INSERT INTO New_bd_feedback( codigo,ACRON, quem,tipo, quest, status, coment) VALUES( '" & lb_max.Caption & "','" & CB_FeedBack_User.Value & "' , '" & Label42.Caption & "', '" & cb_feed_tipo.Value & "','" & Plan7.Cells(16, 1).Value & "', '" & Plan7.Cells(16, 2).Value & "','" & TextBox1.Value & "')"
sql14 = "INSERT INTO New_bd_feedback( codigo,ACRON, quem,tipo, quest, status, coment) VALUES( '" & lb_max.Caption & "','" & CB_FeedBack_User.Value & "' , '" & Label42.Caption & "', '" & cb_feed_tipo.Value & "','" & Plan7.Cells(17, 1).Value & "', '" & Plan7.Cells(17, 2).Value & "','" & TextBox1.Value & "')"
sql15 = "INSERT INTO New_bd_feedback( codigo,ACRON, quem,tipo, quest, status, coment) VALUES( '" & lb_max.Caption & "','" & CB_FeedBack_User.Value & "' , '" & Label42.Caption & "', '" & cb_feed_tipo.Value & "','" & Plan7.Cells(18, 1).Value & "', '" & Plan7.Cells(18, 2).Value & "','" & TextBox1.Value & "')"
sql16 = "INSERT INTO New_bd_feedback( codigo,ACRON, quem,tipo, quest, status, coment) VALUES( '" & lb_max.Caption & "','" & CB_FeedBack_User.Value & "' , '" & Label42.Caption & "', '" & cb_feed_tipo.Value & "','" & Plan7.Cells(19, 1).Value & "', '" & Plan7.Cells(19, 2).Value & "','" & TextBox1.Value & "')"
sql17 = "INSERT INTO New_bd_feedback( codigo,ACRON, quem,tipo, quest, status, coment) VALUES( '" & lb_max.Caption & "','" & CB_FeedBack_User.Value & "' , '" & Label42.Caption & "', '" & cb_feed_tipo.Value & "','" & Plan7.Cells(20, 1).Value & "', '" & Plan7.Cells(20, 2).Value & "','" & TextBox1.Value & "')"
sql18 = "INSERT INTO New_bd_feedback( codigo,ACRON, quem,tipo, quest, status, coment) VALUES( '" & lb_max.Caption & "','" & CB_FeedBack_User.Value & "' , '" & Label42.Caption & "', '" & cb_feed_tipo.Value & "','" & Plan7.Cells(21, 1).Value & "', '" & Plan7.Cells(21, 2).Value & "','" & TextBox1.Value & "')"
sql19 = "INSERT INTO New_bd_feedback( codigo,ACRON, quem,tipo, quest, status, coment) VALUES( '" & lb_max.Caption & "','" & CB_FeedBack_User.Value & "' , '" & Label42.Caption & "', '" & cb_feed_tipo.Value & "','" & Plan7.Cells(22, 1).Value & "', '" & Plan7.Cells(22, 2).Value & "','" & TextBox1.Value & "')"
sql20 = "INSERT INTO New_bd_feedback( codigo,ACRON, quem,tipo, quest, status, coment) VALUES( '" & lb_max.Caption & "','" & CB_FeedBack_User.Value & "' , '" & Label42.Caption & "', '" & cb_feed_tipo.Value & "','" & Plan7.Cells(23, 1).Value & "', '" & Plan7.Cells(23, 2).Value & "','" & TextBox1.Value & "')"
sql21 = "INSERT INTO New_bd_feedback( codigo,ACRON, quem,tipo,quest, status, coment) VALUES('" & lb_max.Caption & "', '" & CB_FeedBack_User.Value & "' , '" & Label42.Caption & "', '" & cb_feed_tipo.Value & "','" & Plan7.Cells(24, 1).Value & "', '" & Plan7.Cells(24, 2).Value & "','" & TextBox1.Value & "')"
sql22 = "INSERT INTO New_bd_feedback( codigo,ACRON, quem,tipo, quest, status, coment) VALUES( '" & lb_max.Caption & "','" & CB_FeedBack_User.Value & "' , '" & Label42.Caption & "', '" & cb_feed_tipo.Value & "','" & Plan7.Cells(25, 1).Value & "', '" & Plan7.Cells(25, 2).Value & "','" & TextBox1.Value & "')"
sql23 = "INSERT INTO New_bd_feedback( codigo,ACRON, quem,tipo, quest, status, coment) VALUES( '" & lb_max.Caption & "','" & CB_FeedBack_User.Value & "' , '" & Label42.Caption & "', '" & cb_feed_tipo.Value & "','" & Plan7.Cells(26, 1).Value & "', '" & Plan7.Cells(26, 2).Value & "','" & TextBox1.Value & "')"
sql24 = "INSERT INTO New_bd_feedback( codigo,ACRON, quem,tipo, quest, status, coment) VALUES( '" & lb_max.Caption & "','" & CB_FeedBack_User.Value & "' , '" & Label42.Caption & "', '" & cb_feed_tipo.Value & "','" & Plan7.Cells(27, 1).Value & "', '" & Plan7.Cells(27, 2).Value & "','" & TextBox1.Value & "')"
sql25 = "INSERT INTO New_bd_feedback( codigo,ACRON, quem,tipo, quest, status, coment) VALUES( '" & lb_max.Caption & "','" & CB_FeedBack_User.Value & "' , '" & Label42.Caption & "', '" & cb_feed_tipo.Value & "','" & Plan7.Cells(28, 1).Value & "', '" & Plan7.Cells(28, 2).Value & "','" & TextBox1.Value & "')"
sql26 = "INSERT INTO New_bd_feedback( codigo,ACRON, quem,tipo, quest, status, coment) VALUES( '" & lb_max.Caption & "','" & CB_FeedBack_User.Value & "' , '" & Label42.Caption & "', '" & cb_feed_tipo.Value & "','" & Plan7.Cells(29, 1).Value & "', '" & Plan7.Cells(29, 2).Value & "','" & TextBox1.Value & "')"
sql27 = "INSERT INTO New_bd_feedback( codigo,ACRON, quem,tipo, quest, status, coment) VALUES( '" & lb_max.Caption & "','" & CB_FeedBack_User.Value & "' , '" & Label42.Caption & "', '" & cb_feed_tipo.Value & "','" & Plan7.Cells(30, 1).Value & "', '" & Plan7.Cells(30, 2).Value & "','" & TextBox1.Value & "')"

sql28 = "INSERT INTO New_bd_feedback( codigo,ACRON, quem, quest, status) VALUES('" & lb_max.Caption & "', '" & CB_FeedBack_User.Value & "' , '" & Label42.Caption & "', '" & Plan7.Cells(31, 1).Value & "','" & Plan7.Cells(31, 3).Value & "')"

' Cria o objeto Connection.
Set conn = New ADODB.Connection
With conn
' Define o provedor OleDB para a conexão.
.Provider = "Microsoft.JET.OLEDB.4.0"
' Abre uma conexão com o Northwind.mdb.
.Open connectionString ', "Administrador", "Sin@09!"
End With

Set rst = New ADODB.Recordset
With rst

.ActiveConnection = conn
' aqui ele executa

.Open sql1, conn, adOpenDynamic, adLockBatchOptimistic
.Open sql2, conn, adOpenDynamic, adLockBatchOptimistic
.Open sql3, conn, adOpenDynamic, adLockBatchOptimistic
.Open sql4, conn, adOpenDynamic, adLockBatchOptimistic
.Open sql5, conn, adOpenDynamic, adLockBatchOptimistic
.Open sql6, conn, adOpenDynamic, adLockBatchOptimistic
.Open sql7, conn, adOpenDynamic, adLockBatchOptimistic
.Open sql8, conn, adOpenDynamic, adLockBatchOptimistic
.Open sql9, conn, adOpenDynamic, adLockBatchOptimistic
.Open sql10, conn, adOpenDynamic, adLockBatchOptimistic
.Open sql11, conn, adOpenDynamic, adLockBatchOptimistic
.Open sql12, conn, adOpenDynamic, adLockBatchOptimistic
.Open sql13, conn, adOpenDynamic, adLockBatchOptimistic
.Open sql14, conn, adOpenDynamic, adLockBatchOptimistic
.Open sql15, conn, adOpenDynamic, adLockBatchOptimistic
.Open sql16, conn, adOpenDynamic, adLockBatchOptimistic
.Open sql17, conn, adOpenDynamic, adLockBatchOptimistic
.Open sql18, conn, adOpenDynamic, adLockBatchOptimistic
.Open sql19, conn, adOpenDynamic, adLockBatchOptimistic
.Open sql20, conn, adOpenDynamic, adLockBatchOptimistic
.Open sql21, conn, adOpenDynamic, adLockBatchOptimistic
.Open sql22, conn, adOpenDynamic, adLockBatchOptimistic
.Open sql23, conn, adOpenDynamic, adLockBatchOptimistic
.Open sql24, conn, adOpenDynamic, adLockBatchOptimistic
.Open sql25, conn, adOpenDynamic, adLockBatchOptimistic
.Open sql26, conn, adOpenDynamic, adLockBatchOptimistic
.Open sql27, conn, adOpenDynamic, adLockBatchOptimistic
.Open sql28, conn, adOpenDynamic, adLockBatchOptimistic

End With

Set rst = Nothing

conn.Close

MsgBox "Feedback incluso com sucesso"

End Sub

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 27/09/2010 5:20 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Ola Caio, desculpa o sumiço, mas a semana esta corrida. Adaptei o seu exemplo, ele deve funcionar certinho agora

Private Sub CommandButton2_Click()
Dim connectionString As String
Dim conn As ADODB.Connection
Dim bTrans As Boolean
'array que vai armazenas as instruções sql
Dim SQL(27) As String
Dim i As Byte

On Error GoTo TratamentoErro

connectionString = ThisWorkbook.Path & "/Northwind.mdb"

'atribuo cada instrução sql a uma variavel da array
SQL(0) = "INSERT INTO New_bd_feedback( codigo,ACRON, quem, tipo, quest, status, coment) VALUES( '" & lb_max.Caption & "','" & CB_FeedBack_User.Value & "' , '" & Label42.Caption & "','" & cb_feed_tipo.Value & "', '" & Plan7.Cells(3, 1).Value & "', '" & Plan7.Cells(3, 2).Value & "','" & TextBox1.Value & "')"
SQL(1) = "INSERT INTO New_bd_feedback( codigo,ACRON, quem, tipo, quest, status, coment) VALUES( '" & lb_max.Caption & "','" & CB_FeedBack_User.Value & "' , '" & Label42.Caption & "','" & cb_feed_tipo.Value & "', '" & Plan7.Cells(4, 1).Value & "', '" & Plan7.Cells(4, 2).Value & "','" & TextBox1.Value & "')"
SQL(2) = "INSERT INTO New_bd_feedback( codigo,ACRON, quem, tipo, quest, status, coment) VALUES( '" & lb_max.Caption & "','" & CB_FeedBack_User.Value & "' , '" & Label42.Caption & "', '" & cb_feed_tipo.Value & "','" & Plan7.Cells(5, 1).Value & "', '" & Plan7.Cells(5, 2).Value & "','" & TextBox1.Value & "')"
SQL(3) = "INSERT INTO New_bd_feedback( codigo,ACRON, quem, tipo, quest, status, coment) VALUES( '" & lb_max.Caption & "','" & CB_FeedBack_User.Value & "' , '" & Label42.Caption & "', '" & cb_feed_tipo.Value & "','" & Plan7.Cells(6, 1).Value & "', '" & Plan7.Cells(6, 2).Value & "','" & TextBox1.Value & "')"
SQL(4) = "INSERT INTO New_bd_feedback( codigo,ACRON, quem, tipo, quest, status, coment) VALUES( '" & lb_max.Caption & "','" & CB_FeedBack_User.Value & "' , '" & Label42.Caption & "', '" & cb_feed_tipo.Value & "','" & Plan7.Cells(7, 1).Value & "', '" & Plan7.Cells(7, 2).Value & "','" & TextBox1.Value & "')"
SQL(5) = "INSERT INTO New_bd_feedback( codigo,ACRON, quem,tipo, quest, status, coment) VALUES( '" & lb_max.Caption & "','" & CB_FeedBack_User.Value & "' , '" & Label42.Caption & "', '" & cb_feed_tipo.Value & "','" & Plan7.Cells(8, 1).Value & "', '" & Plan7.Cells(8, 2).Value & "','" & TextBox1.Value & "')"
SQL(6) = "INSERT INTO New_bd_feedback( codigo,ACRON, quem,tipo, quest, status, coment) VALUES( '" & lb_max.Caption & "','" & CB_FeedBack_User.Value & "' , '" & Label42.Caption & "', '" & cb_feed_tipo.Value & "','" & Plan7.Cells(9, 1).Value & "', '" & Plan7.Cells(9, 2).Value & "','" & TextBox1.Value & "')"
SQL(7) = "INSERT INTO New_bd_feedback( codigo,ACRON, quem,tipo, quest, status, coment) VALUES( '" & lb_max.Caption & "','" & CB_FeedBack_User.Value & "' , '" & Label42.Caption & "', '" & cb_feed_tipo.Value & "','" & Plan7.Cells(10, 1).Value & "', '" & Plan7.Cells(10, 2).Value & "','" & TextBox1.Value & "')"
SQL(8) = "INSERT INTO New_bd_feedback( codigo,ACRON, quem,tipo, quest, status, coment) VALUES( '" & lb_max.Caption & "','" & CB_FeedBack_User.Value & "' , '" & Label42.Caption & "', '" & cb_feed_tipo.Value & "','" & Plan7.Cells(12, 1).Value & "', '" & Plan7.Cells(12, 2).Value & "','" & TextBox1.Value & "')"
SQL(9) = "INSERT INTO New_bd_feedback( codigo,ACRON, quem,tipo, quest, status, coment) VALUES( '" & lb_max.Caption & "','" & CB_FeedBack_User.Value & "' , '" & Label42.Caption & "', '" & cb_feed_tipo.Value & "','" & Plan7.Cells(13, 1).Value & "', '" & Plan7.Cells(13, 2).Value & "','" & TextBox1.Value & "')"
SQL(10) = "INSERT INTO New_bd_feedback( codigo,ACRON, quem,tipo, quest, status, coment) VALUES( '" & lb_max.Caption & "','" & CB_FeedBack_User.Value & "' , '" & Label42.Caption & "', '" & cb_feed_tipo.Value & "','" & Plan7.Cells(14, 1).Value & "', '" & Plan7.Cells(14, 2).Value & "','" & TextBox1.Value & "')"
SQL(11) = "INSERT INTO New_bd_feedback( codigo,ACRON, quem,tipo, quest, status, coment) VALUES( '" & lb_max.Caption & "','" & CB_FeedBack_User.Value & "' , '" & Label42.Caption & "', '" & cb_feed_tipo.Value & "','" & Plan7.Cells(15, 1).Value & "', '" & Plan7.Cells(15, 2).Value & "','" & TextBox1.Value & "')"
SQL(12) = "INSERT INTO New_bd_feedback( codigo,ACRON, quem,tipo, quest, status, coment) VALUES( '" & lb_max.Caption & "','" & CB_FeedBack_User.Value & "' , '" & Label42.Caption & "', '" & cb_feed_tipo.Value & "','" & Plan7.Cells(16, 1).Value & "', '" & Plan7.Cells(16, 2).Value & "','" & TextBox1.Value & "')"
SQL(13) = "INSERT INTO New_bd_feedback( codigo,ACRON, quem,tipo, quest, status, coment) VALUES( '" & lb_max.Caption & "','" & CB_FeedBack_User.Value & "' , '" & Label42.Caption & "', '" & cb_feed_tipo.Value & "','" & Plan7.Cells(17, 1).Value & "', '" & Plan7.Cells(17, 2).Value & "','" & TextBox1.Value & "')"
SQL(14) = "INSERT INTO New_bd_feedback( codigo,ACRON, quem,tipo, quest, status, coment) VALUES( '" & lb_max.Caption & "','" & CB_FeedBack_User.Value & "' , '" & Label42.Caption & "', '" & cb_feed_tipo.Value & "','" & Plan7.Cells(18, 1).Value & "', '" & Plan7.Cells(18, 2).Value & "','" & TextBox1.Value & "')"
SQL(15) = "INSERT INTO New_bd_feedback( codigo,ACRON, quem,tipo, quest, status, coment) VALUES( '" & lb_max.Caption & "','" & CB_FeedBack_User.Value & "' , '" & Label42.Caption & "', '" & cb_feed_tipo.Value & "','" & Plan7.Cells(19, 1).Value & "', '" & Plan7.Cells(19, 2).Value & "','" & TextBox1.Value & "')"
SQL(16) = "INSERT INTO New_bd_feedback( codigo,ACRON, quem,tipo, quest, status, coment) VALUES( '" & lb_max.Caption & "','" & CB_FeedBack_User.Value & "' , '" & Label42.Caption & "', '" & cb_feed_tipo.Value & "','" & Plan7.Cells(20, 1).Value & "', '" & Plan7.Cells(20, 2).Value & "','" & TextBox1.Value & "')"
SQL(17) = "INSERT INTO New_bd_feedback( codigo,ACRON, quem,tipo, quest, status, coment) VALUES( '" & lb_max.Caption & "','" & CB_FeedBack_User.Value & "' , '" & Label42.Caption & "', '" & cb_feed_tipo.Value & "','" & Plan7.Cells(21, 1).Value & "', '" & Plan7.Cells(21, 2).Value & "','" & TextBox1.Value & "')"
SQL(18) = "INSERT INTO New_bd_feedback( codigo,ACRON, quem,tipo, quest, status, coment) VALUES( '" & lb_max.Caption & "','" & CB_FeedBack_User.Value & "' , '" & Label42.Caption & "', '" & cb_feed_tipo.Value & "','" & Plan7.Cells(22, 1).Value & "', '" & Plan7.Cells(22, 2).Value & "','" & TextBox1.Value & "')"
SQL(19) = "INSERT INTO New_bd_feedback( codigo,ACRON, quem,tipo, quest, status, coment) VALUES( '" & lb_max.Caption & "','" & CB_FeedBack_User.Value & "' , '" & Label42.Caption & "', '" & cb_feed_tipo.Value & "','" & Plan7.Cells(23, 1).Value & "', '" & Plan7.Cells(23, 2).Value & "','" & TextBox1.Value & "')"
SQL(20) = "INSERT INTO New_bd_feedback( codigo,ACRON, quem,tipo,quest, status, coment) VALUES('" & lb_max.Caption & "', '" & CB_FeedBack_User.Value & "' , '" & Label42.Caption & "', '" & cb_feed_tipo.Value & "','" & Plan7.Cells(24, 1).Value & "', '" & Plan7.Cells(24, 2).Value & "','" & TextBox1.Value & "')"
SQL(21) = "INSERT INTO New_bd_feedback( codigo,ACRON, quem,tipo, quest, status, coment) VALUES( '" & lb_max.Caption & "','" & CB_FeedBack_User.Value & "' , '" & Label42.Caption & "', '" & cb_feed_tipo.Value & "','" & Plan7.Cells(25, 1).Value & "', '" & Plan7.Cells(25, 2).Value & "','" & TextBox1.Value & "')"
SQL(22) = "INSERT INTO New_bd_feedback( codigo,ACRON, quem,tipo, quest, status, coment) VALUES( '" & lb_max.Caption & "','" & CB_FeedBack_User.Value & "' , '" & Label42.Caption & "', '" & cb_feed_tipo.Value & "','" & Plan7.Cells(26, 1).Value & "', '" & Plan7.Cells(26, 2).Value & "','" & TextBox1.Value & "')"
SQL(23) = "INSERT INTO New_bd_feedback( codigo,ACRON, quem,tipo, quest, status, coment) VALUES( '" & lb_max.Caption & "','" & CB_FeedBack_User.Value & "' , '" & Label42.Caption & "', '" & cb_feed_tipo.Value & "','" & Plan7.Cells(27, 1).Value & "', '" & Plan7.Cells(27, 2).Value & "','" & TextBox1.Value & "')"
SQL(24) = "INSERT INTO New_bd_feedback( codigo,ACRON, quem,tipo, quest, status, coment) VALUES( '" & lb_max.Caption & "','" & CB_FeedBack_User.Value & "' , '" & Label42.Caption & "', '" & cb_feed_tipo.Value & "','" & Plan7.Cells(28, 1).Value & "', '" & Plan7.Cells(28, 2).Value & "','" & TextBox1.Value & "')"
SQL(25) = "INSERT INTO New_bd_feedback( codigo,ACRON, quem,tipo, quest, status, coment) VALUES( '" & lb_max.Caption & "','" & CB_FeedBack_User.Value & "' , '" & Label42.Caption & "', '" & cb_feed_tipo.Value & "','" & Plan7.Cells(29, 1).Value & "', '" & Plan7.Cells(29, 2).Value & "','" & TextBox1.Value & "')"
SQL(26) = "INSERT INTO New_bd_feedback( codigo,ACRON, quem,tipo, quest, status, coment) VALUES( '" & lb_max.Caption & "','" & CB_FeedBack_User.Value & "' , '" & Label42.Caption & "', '" & cb_feed_tipo.Value & "','" & Plan7.Cells(30, 1).Value & "', '" & Plan7.Cells(30, 2).Value & "','" & TextBox1.Value & "')"
SQL(27) = "INSERT INTO New_bd_feedback( codigo,ACRON, quem, quest, status) VALUES('" & lb_max.Caption & "', '" & CB_FeedBack_User.Value & "' , '" & Label42.Caption & "', '" & Plan7.Cells(31, 1).Value & "','" & Plan7.Cells(31, 3).Value & "')"

' Cria o objeto Connection.
Set conn = New ADODB.Connection
With conn
    'Define o provedor OleDB para a conexão.
    .Provider = "Microsoft.JET.OLEDB.4.0"
    ' Abre uma conexão com o Northwind.mdb.
    .Open connectionString ', "Administrador", "Sin@09!"
End With

'verifica se a conexão esta ok
If conn.State > 0 Then
    'inicia a transação
    conn.BeginTrans
        bTrans = True
        'faz um loop por todos os itens da array
        For i = 0 To UBound(SQL())
            conn.Execute SQL(i)
        Next
    'finaliza a transação
    conn.CommitTrans
    bTrans = False
Else
    MsgBox "Não foi possivel abrir a conexão", vbCritical, "Erro de Conexão"
End If

'fecha a conexão com o banco de dados
conn.Close

MsgBox "Feedback incluso com sucesso"
Exit Sub
TratamentoErro:
    'em caso de erro desfaz a transação e todos os comandos são cancelados
    If bTrans = True Then
        conn.RollbackTrans
        conn.Close
    End If
End Sub

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 28/09/2010 8:42 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Massaa de mais!! Valeu deu uma enxugada no código..
Sò me explica uma coisa eu não conhecia esse UBound.

'faz um loop por todos os itens da array
For i = 0 To UBound(SQL())

O que exatamente ele faz, verifica a quantidade de item que tem a arrays?

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 29/09/2010 5:18 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 
 UBound(SQL())

Retorna a posição do maior array, assim se vc aumentar 3 na declaração ele já se adapta.
Qualquer duvida segue este link http://msdn.microsoft.com/pt-br/library ... 2f(v=vs.90).aspx

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 29/09/2010 6:27 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Nice!

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 29/09/2010 6:35 am