CONVERTER DAO PARA ADO

PROCURADO 07/08/2012 09:52:28
#407361
Poderiam me ajudar de que forma converter DAO para ADO, pois não tenho um conhecimento profundo sobre o problema segue o codigo abaixo


Screen.MousePointer = 11

Dim a As Integer
Dim mSQL As String
Dim SQLtab3 As Recordset
Dim mQuantAlunos As Integer

mSQL = [Ô]Select ANO, Unidade, Rm, Codigo, Numero, Cod_Disc, nfecha[Ô] & mtri & [Ô] as nfecha, Nota[Ô] & mtri & [Ô] as Processo, Nota[Ô] & mtri & [Ô]_1 as Prova, Back0[Ô] & mtri & [Ô] as Back, Falta[Ô] & mtri & [Ô] as Falta, Recu[Ô] & mtri & [Ô] as Recuperacao From cad_nota Where ANO=[Ô] & gAnoAtivo & [Ô] and left(Codigo,[Ô] & tbPara!turma & [Ô]) = [ô][Ô] & UCase(mClasse) & [Ô][ô] And Cod_Disc = [ô][Ô] & UCase(Left(mClasse, 2)) & Right(Format(ComboMateria.ItemData(ComboMateria.ListIndex), [Ô]00[Ô]), 2) & [Ô][ô] Order by Rm[Ô]
Set SQLtab3 = DBData.OpenRecordset(mSQL)

mQuantAlunos = SQLtab3.RecordCount

If mQuantAlunos = 0 Then
mSQL = [Ô]Select ano, unidade, Rm, Codigo, Numero, Cod_Disc, nfecha[Ô] & mtri & [Ô] as nfecha, Nota[Ô] & mtri & [Ô] as Processo, Nota[Ô] & mtri & [Ô]_1 as Prova, Back0[Ô] & mtri & [Ô] as Back, Falta[Ô] & mtri & [Ô] as Falta, Recu[Ô] & mtri & [Ô] as Recuperacao From cad_nota Where ANO=[Ô] & gAnoAtivo & [Ô] and Unidade=[Ô] & gUnidade
Set SQLtab3 = DBData.OpenRecordset(mSQL)
Inclusao = True
Else
Inclusao = False
End If

mQuantA2 = UBound(zRm)


If SQLtab3.RecordCount > 0 Then SQLtab3.MoveFirst

For a = 1 To mQuantA2
[ô]If zRm(a) = 31775 Then Stop
If Inclusao = True Then
SQLtab3.AddNew
Else
SQLtab3.FindFirst [Ô]rm = [Ô] & zRm(a)
If Not SQLtab3.NoMatch Then
SQLtab3.Edit
Else
SQLtab3.AddNew
End If
End If

SQLtab3!ano = gAnoAtivo
SQLtab3!Unidade = gUnidade
SQLtab3!rm = zRm(a)
SQLtab3!Codigo = zClasse(a)
SQLtab3!numero = Val(zNumero(a))
SQLtab3!cod_disc = UCase(Left(zClasse(a), 2)) & Format(ComboMateria.ItemData(ComboMateria.ListIndex), [Ô]00[Ô])
[ô] SQLTab3!prova = IIf(Len(zProva(A)) = 0, -1, IIf(Trim(zProva(A)) = [Ô]DISP[Ô], -2, Val(ArrumaVal(zProva(A)))))
[ô] SQLTab3!back = IIf(Len(zProva(A)) = 0, -1, IIf(Trim(zProva(A)) = [Ô]DISP[Ô], -2, Val(ArrumaVal(zProva(A)))))



If Len(zProva(a)) = 0 Then
SQLtab3!prova = -1
SQLtab3!back = -1
Else
If Trim(zProva(a)) = [Ô]DISP[Ô] Then
SQLtab3!prova = -2
SQLtab3!back = -2
ElseIf Trim(zProva(a)) = [Ô]RECU[Ô] Then
SQLtab3!prova = -3
SQLtab3!back = -3
ElseIf Trim(zProva(a)) = [Ô]RE01[Ô] Then
SQLtab3!prova = -7
SQLtab3!back = -7
ElseIf Trim(zProva(a)) = [Ô]RE02[Ô] Then
SQLtab3!prova = -8
SQLtab3!back = -8
ElseIf Trim(zProva(a)) = [Ô]RE12[Ô] Then
SQLtab3!prova = -9
SQLtab3!back = -9
ElseIf Trim(zProva(a)) = [Ô]RE L[Ô] Then
SQLtab3!prova = -10
SQLtab3!back = -10
ElseIf Trim(zProva(a)) = [Ô]RE P[Ô] Then
SQLtab3!prova = -11
SQLtab3!back = -11
ElseIf Trim(zProva(a)) = [Ô]RELP[Ô] Then
SQLtab3!prova = -12
SQLtab3!back = -12
ElseIf Trim(zProva(a)) = [Ô]RE G[Ô] Then
SQLtab3!prova = -13
SQLtab3!back = -13
ElseIf Trim(zProva(a)) = [Ô]RE B[Ô] Then
SQLtab3!prova = -14
SQLtab3!back = -14
ElseIf Trim(zProva(a)) = [Ô]REGB[Ô] Then
SQLtab3!prova = -15
SQLtab3!back = -15
ElseIf Trim(zProva(a)) = [Ô]RE F[Ô] Then
SQLtab3!prova = -16
SQLtab3!back = -16
ElseIf Trim(zProva(a)) = [Ô]RE Q[Ô] Then
SQLtab3!prova = -17
SQLtab3!back = -17
ElseIf Trim(zProva(a)) = [Ô]REFQ[Ô] Then
SQLtab3!prova = -18
SQLtab3!back = -18
ElseIf Trim(zProva(a)) = [Ô]RE23[Ô] Then
SQLtab3!prova = -19
SQLtab3!back = -19
ElseIf Trim(zProva(a)) = [Ô]RE13[Ô] Then
SQLtab3!prova = -20
SQLtab3!back = -20
ElseIf Trim(zProva(a)) = [Ô]RE03[Ô] Then
SQLtab3!prova = -21
SQLtab3!back = -21

Else
SQLtab3!prova = Val(ArrumaVal(zProva(a)))
SQLtab3!back = Val(ArrumaVal(zProva(a)))
End If
End If

[ô] SQLTab3!processo = IIf(Len(zProc(A)) = 0, -1, IIf(Trim(zProc(A)) = [Ô]DISP[Ô], -2, Val(ArrumaVal(zProc(A)))))
If Len(zProc(a)) = 0 Then
SQLtab3!processo = -1
Else
If Trim(zProc(a)) = [Ô]DISP[Ô] Then
SQLtab3!processo = -2
ElseIf Trim(zProc(a)) = [Ô]RECU[Ô] Then
SQLtab3!processo = -3
ElseIf Trim(zProc(a)) = [Ô]RE01[Ô] Then
SQLtab3!processo = -7
ElseIf Trim(zProc(a)) = [Ô]RE02[Ô] Then
SQLtab3!processo = -8
ElseIf Trim(zProc(a)) = [Ô]RE12[Ô] Then
SQLtab3!processo = -9
ElseIf Trim(zProc(a)) = [Ô]RE L[Ô] Then
SQLtab3!processo = -10
ElseIf Trim(zProc(a)) = [Ô]RE P[Ô] Then
SQLtab3!processo = -11
ElseIf Trim(zProc(a)) = [Ô]RELP[Ô] Then
SQLtab3!processo = -12
ElseIf Trim(zProc(a)) = [Ô]RE G[Ô] Then
SQLtab3!processo = -13
ElseIf Trim(zProc(a)) = [Ô]RE B[Ô] Then
SQLtab3!processo = -14
ElseIf Trim(zProc(a)) = [Ô]REGB[Ô] Then
SQLtab3!processo = -15
ElseIf Trim(zProc(a)) = [Ô]RE F[Ô] Then
SQLtab3!processo = -16
ElseIf Trim(zProc(a)) = [Ô]RE Q[Ô] Then
SQLtab3!processo = -17
ElseIf Trim(zProc(a)) = [Ô]REFQ[Ô] Then
SQLtab3!processo = -18
ElseIf Trim(zProc(a)) = [Ô]RE23[Ô] Then
SQLtab3!processo = -19
ElseIf Trim(zProc(a)) = [Ô]RE13[Ô] Then
SQLtab3!processo = -20
ElseIf Trim(zProc(a)) = [Ô]RE03[Ô] Then
SQLtab3!processo = -21
Else
SQLtab3!processo = Val(ArrumaVal(zProc(a)))
End If
End If

[ô]Se usuário tiver como DI nas faltas marca como dispensado
If tbPara!id = [Ô]CSP[Ô] Then
If Trim(zFalta(a)) = [Ô]DI[Ô] Then
SQLtab3!prova = -2
SQLtab3!back = -2
End If
End If
SQLtab3!nfecha = IIf(zNfecha(a), 1, 0)
SQLtab3!falta = Val(zFalta(a))
SQLtab3.Update
Next

ReDim zRm(1 To 1)
ReDim zClasse(1 To 1)
ReDim zNome(1 To 1)
ReDim zNumero(1 To 1)
ReDim zProva(1 To 1)
ReDim zProc(1 To 1)
ReDim zFalta(1 To 1)
ReDim zRecu(1 To 1)

FClasse.Enabled = True
Frame3.Visible = False

RequeryAll
Screen.MousePointer = 0

On Local Error GoTo 0
Exit Sub

[ô]///////////////////////////////////////////////////////////////////////////
[ô]Controle de erros
AddNotas_Error:


MsgBox [Ô]Erro [Ô] & Err.Number & [Ô] ([Ô] & Err.Description & [Ô]) em AddNotas de Formulário fNota[Ô]



grato pela ajuda
KERPLUNK 07/08/2012 11:06:47
#407381
Comece entendendo como ADO funciona, depois converta seu código. Só postar código e pedir para alguém alterar não da não colega... Qual a sua dúvida sobre ADO?
JABA 08/08/2012 14:04:08
#407502
Resposta escolhida
Encontrei alguns artigos bons pra você fazer essa migracao:

http://www.macoratti.net/ado_filt.htm

http://www.macoratti.net/dao_ado.htm

http://www.macoratti.net/dao_ado1.htm

http://www.macoratti.net/dao_ado2.htm

http://www.macoratti.net/dao_ado3.htm

vlw
Tópico encerrado , respostas não são mais permitidas