PDA

Visualizza la versione completa : [VB] Creare Report


freezone
22-07-2002, 11:12
Premetto che non sono un esperto di VB. Allora ho fatto un form (frmMain) con due campi (txtDa e txtA). Un pulsante (cmdShow) che esegua rptAllarmi.Show.
rptAllarmi un report, che come DataEnvironment ha un Command Principale in cui vorrei che creasse un report selezionando dalla tabella tutti i campi, solo i record che hanno data compresa tra i due valori del form. Come si fa?
Io non riesco a passare i due valori.
Grazie a chi mi riesce ad aiutare...
Ciao

freezone
22-07-2002, 12:30
nessuno ha mai fatto niente del genere?

Janx
22-07-2002, 14:13
...se posti il codice forse ne caviamo piedi..;)

freezone
22-07-2002, 15:03
Giusto:


Public Sub cmdShow_Click()

Dim db_file As String
Dim conn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim SQL As String
Dim datDa As Date
Dim datA As Date

If txtDa.Text <> "" Then
datDa = CDate(txtDa.Text)
datDa = DatePart("m", datDa) & "/" & DatePart("d", datDa) & "/" & DatePart("yyyy", datDa)
Else
intMsg = MsgBox("Inserire data inizio", vbOKOnly + vbExclamation, "Errore!")
End If
If txtA.Text <> "" Then
datA = CDate(txtA.Text)
datA = DatePart("m", datA) & "/" & DatePart("d", datA) & "/" & DatePart("yyyy", datA)
Else
intMsg = MsgBox("Inserire data Fine", vbOKOnly + vbExclamation, "Errore!")
End If

db_file = App.Path
If Right$(db_file, 1) <> "\" Then db_file = db_file & "\"
db_file = db_file & "dballarmi.mdb"

Set conn = New ADODB.Connection
conn.ConnectionString = _
"Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & db_file & ";" & _
"Persist Security Info=False"
conn.Open

SQL = "SELECT * FROM alarm_table WHERE Data BETWEEN #" & datDa & "# AND #" & datA & "#"

Set rs = conn.Execute(SQL, , adCmdText)

' Connette il Recordset al DataReport.
lblDa.Caption = datDa
Set rptAllarmi.DataSource = rs

If intMsg <> 1 Then

rptAllarmi.WindowState = vbNormal
rptAllarmi.Caption = "Report dal " & datDa & " al " & datA
rptAllarmi.Show vbModal
Else
frmMain.SetFocus
End If

rs.Close
conn.Close

End Sub


In pratica vorrei che anche l'etichetta lblDa che nel report si impostasse alla data di inizio che scrivo nel textbox. Niente di trascendentale... ma tremendamente impossibile!! :cry:

freezone
22-07-2002, 15:04
Il report viene giusto, ma non riesco a far scrivere in testata che i record che si vedono sono quelli filtrati da (var) a (var) capito?

freezone
23-07-2002, 09:00
Qualche idea oggi??:cry:

freezone
23-07-2002, 11:24
Nessuno ha mai fatto un lavoretto del genere?:confused:

Loading