DBGRID

USUARIO.EXCLUIDOS 27/11/2006 14:48:24
#186497
Pessoal tenho um grid e um botao de calcular onde gera mensalidades mensais semanais e quinzenais so q quando clico no botão calcular ele naum me retorna na hora as mensalidades no grid ele naum preenche as mensalidades no grid ?


este é o meu codigo .........

Private Sub cmdCalcula_Click()
On Error GoTo Calcular

Dim data As String
Dim nome As String
Dim numt As String
Dim I As Integer
Dim parcela As Double

nome = txtNome.Text
numt = txtNumT.Text

data = Date
parcela = CCur(txtValor.Text) / Val(cmbParcelas.Text)

For I = 1 To Val(cmbParcelas.Text)

rsPront.AddNew
rsPront("Num_T") = numt
rsPront("Nome") = nome
rsPront("Data") = Format(CDate(data), "DD/MM/YYYY")
rsPront("Valor") = Format(CCur(parcela), "R$ 0.00")
rsPront("Codigo") = cmbCodigo.Text
rsPront("Atrasado") = "Não"
rsPront.Update


If cmbFrequencia.Text = "Mensal" Then
data = DateAdd("m", 1, data)
ElseIf cmbFrequencia.Text = "Semanal" Then
data = DateAdd("d", 7, data)
ElseIf cmbFrequencia.Text = "Quinzenal" Then
data = DateAdd("d", 14, data)
End If

Next I
DBGrid1.Refresh
DBGrid1.ReBind
Data1.Refresh
Exit Sub
Calcular:
MsgBox " Error Number : " & Err.Number & vbNewLine & Err.Description, vbExclamation, "Seapp - Atenção !"
Err.Clear
End Sub


Obrigado pela ajuda!!!!!!!!
USUARIO.EXCLUIDOS 27/11/2006 15:35:47
#186513
Resposta escolhida
Bom...tente isso

Set Data1.Recordset = Banco.OpenRecordset("Select * From Tabela")

Onde:
Data1 é seu objeto data
Banco é sua Varíável Database
Tabela é essa tabela a que se refere contendo as mensalidades

Boa sorte..qq coisa..poste novamente

USUARIO.EXCLUIDOS 27/11/2006 15:41:42
#186514
Tente desta forma:

Private Sub cmdCalcula_Click()
On Error GoTo Calcular

Dim data As String
Dim nome As String
Dim numt As String
Dim I As Integer
Dim parcela As Double

nome = txtNome.Text
numt = txtNumT.Text

data = Date
parcela = CCur(txtValor.Text) / Val(cmbParcelas.Text)

For I = 1 To Val(cmbParcelas.Text)

'********** Essas vieram para cá

If cmbFrequencia.Text = "Mensal" Then
data = DateAdd("m", 1, data)
ElseIf cmbFrequencia.Text = "Semanal" Then
data = DateAdd("d", 7, data)
ElseIf cmbFrequencia.Text = "Quinzenal" Then
data = DateAdd("d", 14, data)
End If

rsPront.AddNew
rsPront("Num_T") = numt
rsPront("Nome") = nome
rsPront("Data") = Format(CDate(data), "DD/MM/YYYY")
rsPront("Valor") = Format(CCur(parcela), "R$ 0.00")
rsPront("Codigo") = cmbCodigo.Text
rsPront("Atrasado") = "Não"
rsPront.Update

'********** Essas linhas sairam daqui
' If cmbFrequencia.Text = "Mensal" Then
' data = DateAdd("m", 1, data)
' ElseIf cmbFrequencia.Text = "Semanal" Then
' data = DateAdd("d", 7, data)
' ElseIf cmbFrequencia.Text = "Quinzenal" Then
' data = DateAdd("d", 14, data)
' End If




Next I
Data1.Refresh '<====== Veio para cá
DBGrid1.Refresh
DBGrid1.ReBind
' Data1.Refresh '<====== Saiu daqui
Exit Sub
Calcular:
MsgBox " Error Number : " & Err.Number & vbNewLine & Err.Description, vbExclamation, "Seapp - Atenção !"
Err.Clear
End Sub


Como o DBGrid reflete o Recordset, me parece que seu erro foi fazer a mudança da data após o Update e o Refresh do DBGrid antes do Data1.
USUARIO.EXCLUIDOS 27/11/2006 15:44:05
#186515
Complementando - faz tempo que não mexo com DBGrid - tenho a impressão de que mexendo na data antes do update, quando você fizer o refresh do Data1, ele já atualiza o DBGrid (acho que não precisa o refresh do DBGrid) - TESTE
Tópico encerrado , respostas não são mais permitidas