Private Const MARGIN_SIZE = 60 ' in twip
' variabili per l'associazione di dati
Private datPrimaryRS As ADODB.Recordset
Private Sub Form_Load()
Dim sConnect As String
Dim sSQL As String
Dim dfwConn As ADODB.Connection
Dim i As Integer
Dim j As Integer
Dim m_iMaxCol As Integer
' imposta le stringhe
sConnect = "Provider=Microsoft.Jet.OLEDB.3.51;Persist Security Info=False;User ID=Admin;Data Source=C:\Programmi\magicolotto.net\magicolotto.md b;Mode=Share Deny None;Extended Properties=';COUNTRY=0;CP=1252;LANGID=0x0409';Jet OLEDB:System database='';Jet OLEDB:Registry Path='';Jet OLEDB

atabase Password='';Jet OLEDB:Global Partial Bulk Ops=2"
sSQL = "select ID,Data,BA1,BA2,BA3,BA4,BA5,CA1,CA2,CA3,CA4,CA5,FI 1,FI2,FI3,FI4,FI5,GE1,GE2,GE3,GE4,GE5,MI1,MI2,MI3, MI4,MI5,NA1,NA2,NA3,NA4,NA5,PA1,PA2,PA3,PA4,PA5,RO 1,RO2,RO3,RO4,RO5,TO1,TO2,TO3,TO4,TO5,VE1,VE2,VE3, VE4,VE5 from archivio"
' apre la connessione
Set dfwConn = New Connection
dfwConn.Open sConnect
' crea un gruppo di record utilizzando l'insieme specificato
Set datPrimaryRS = New Recordset
datPrimaryRS.CursorLocation = adUseClient
datPrimaryRS.Open sSQL, dfwConn, adOpenForwardOnly, adLockReadOnly
Set MSHFlexGrid1.DataSource = datPrimaryRS
With MSHFlexGrid1
.Redraw = False
' ordina le colonne in modo appropriato
.ColData(0) = 0
.ColData(1) = 1
.ColData(2) = 2
.ColData(3) = 3
.ColData(4) = 4
.ColData(5) = 5
.ColData(6) = 6
.ColData(7) = 7
.ColData(8) = 8
.ColData(9) = 9
.ColData(10) = 10
.ColData(11) = 11
.ColData(12) = 12
.ColData(13) = 13
.ColData(14) = 14
.ColData(15) = 15
.ColData(16) = 16
.ColData(17) = 17
.ColData(18) = 18
.ColData(19) = 19
.ColData(20) = 20
.ColData(21) = 21
.ColData(22) = 22
.ColData(23) = 23
.ColData(24) = 24
.ColData(25) = 25
.ColData(26) = 26
.ColData(27) = 27
.ColData(28) = 28
.ColData(29) = 29
.ColData(30) = 30
.ColData(31) = 31
.ColData(32) = 32
.ColData(33) = 33
.ColData(34) = 34
.ColData(35) = 35
.ColData(36) = 36
.ColData(37) = 37
.ColData(38) = 38
.ColData(39) = 39
.ColData(40) = 40
.ColData(41) = 41
.ColData(42) = 42
.ColData(43) = 43
.ColData(44) = 44
.ColData(45) = 45
.ColData(46) = 46
.ColData(47) = 47
.ColData(48) = 48
.ColData(49) = 49
.ColData(50) = 50
.ColData(51) = 51
' ciclo per il riordinamento delle colonne
For i = 0 To .Cols - 1
m_iMaxCol = i ' trova il valore massimo a partire da questa colonna
For j = i To .Cols - 1
If .ColData(j) > .ColData(m_iMaxCol) Then m_iMaxCol = j
Next j
.ColPosition(m_iMaxCol) = 0 ' sposta a sinistra la colonna che contiene il valore massimo
Next i
' modifica le intestazioni di colonna
.TextMatrix(0, 0) = "ID"
.TextMatrix(0, 1) = "Data"
.TextMatrix(0, 2) = "BA1"
.TextMatrix(0, 3) = "BA2"
.TextMatrix(0, 4) = "BA3"
.TextMatrix(0, 5) = "BA4"
.TextMatrix(0, 6) = "BA5"
.TextMatrix(0, 7) = "CA1"
.TextMatrix(0, 8) = "CA2"
.TextMatrix(0, 9) = "CA3"
.TextMatrix(0, 10) = "CA4"
.TextMatrix(0, 11) = "CA5"
.TextMatrix(0, 12) = "FI1"
.TextMatrix(0, 13) = "FI2"
.TextMatrix(0, 14) = "FI3"
.TextMatrix(0, 15) = "FI4"
.TextMatrix(0, 16) = "FI5"
.TextMatrix(0, 17) = "GE1"
.TextMatrix(0, 18) = "GE2"
.TextMatrix(0, 19) = "GE3"
.TextMatrix(0, 20) = "GE4"
.TextMatrix(0, 21) = "GE5"
.TextMatrix(0, 22) = "MI1"
.TextMatrix(0, 23) = "MI2"
.TextMatrix(0, 24) = "MI3"
.TextMatrix(0, 25) = "MI4"
.TextMatrix(0, 26) = "MI5"
.TextMatrix(0, 27) = "NA1"
.TextMatrix(0, 28) = "NA2"
.TextMatrix(0, 29) = "NA3"
.TextMatrix(0, 30) = "NA4"
.TextMatrix(0, 31) = "NA5"
.TextMatrix(0, 32) = "PA1"
.TextMatrix(0, 33) = "PA2"
.TextMatrix(0, 34) = "PA3"
.TextMatrix(0, 35) = "PA4"
.TextMatrix(0, 36) = "PA5"
.TextMatrix(0, 37) = "RO1"
.TextMatrix(0, 38) = "RO2"
.TextMatrix(0, 39) = "RO3"
.TextMatrix(0, 40) = "RO4"
.TextMatrix(0, 41) = "RO5"
.TextMatrix(0, 42) = "TO1"
.TextMatrix(0, 43) = "TO2"
.TextMatrix(0, 44) = "TO3"
.TextMatrix(0, 45) = "TO4"
.TextMatrix(0, 46) = "TO5"
.TextMatrix(0, 47) = "VE1"
.TextMatrix(0, 48) = "VE2"
.TextMatrix(0, 49) = "VE3"
.TextMatrix(0, 50) = "VE4"
.TextMatrix(0, 51) = "VE5"
' imposta la larghezza delle colonne della griglia
.ColWidth(0) = 465
.ColWidth(1) = 1125
.ColWidth(2) = 465
.ColWidth(3) = 465
.ColWidth(4) = 465
.ColWidth(5) = 465
.ColWidth(6) = 465
.ColWidth(7) = 465
.ColWidth(8) = 465
.ColWidth(9) = 465
.ColWidth(10) = 465
.ColWidth(11) = 465
.ColWidth(12) = 465
.ColWidth(13) = 465
.ColWidth(14) = 465
.ColWidth(15) = 465
.ColWidth(16) = 465
.ColWidth(17) = 465
.ColWidth(18) = 465
.ColWidth(19) = 465
.ColWidth(20) = 465
.ColWidth(21) = 465
.ColWidth(22) = 465
.ColWidth(23) = 465
.ColWidth(24) = 465
.ColWidth(25) = 465
.ColWidth(26) = 465
.ColWidth(27) = 465
.ColWidth(28) = 465
.ColWidth(29) = 465
.ColWidth(30) = 465
.ColWidth(31) = 465
.ColWidth(32) = 465
.ColWidth(33) = 465
.ColWidth(34) = 465
.ColWidth(35) = 465
.ColWidth(36) = 465
.ColWidth(37) = 465
.ColWidth(38) = 465
.ColWidth(39) = 465
.ColWidth(40) = 465
.ColWidth(41) = 465
.ColWidth(42) = 465
.ColWidth(43) = 465
.ColWidth(44) = 465
.ColWidth(45) = 465
.ColWidth(46) = 465
.ColWidth(47) = 465
.ColWidth(48) = 465
.ColWidth(49) = 465
.ColWidth(50) = 465
.ColWidth(51) = 465
' imposta lo stile della griglia
.AllowBigSelection = True
.FillStyle = flexFillRepeat
' formatta l'intestazione in grassetto
.Row = 0
.Col = 0
.RowSel = .FixedRows - 1
.ColSel = .Cols - 1
.CellFontBold = True
.AllowBigSelection = False
.FillStyle = flexFillSingle
.Redraw = True
End With
End Sub
Private Sub Form_Resize()
Dim sngButtonTop As Single
Dim sngScaleWidth As Single
Dim sngScaleHeight As Single
On Error GoTo Form_Resize_Error
With Me
sngScaleWidth = .ScaleWidth
sngScaleHeight = .ScaleHeight
' sposta il pulsante di chiusura nell'angolo in basso a destra
With .cmdClose
sngButtonTop = sngScaleHeight - (.Height + MARGIN_SIZE)
.Move sngScaleWidth - (.Width + MARGIN_SIZE), sngButtonTop
End With
.MSHFlexGrid1.Move MARGIN_SIZE, _
MARGIN_SIZE, _
sngScaleWidth - (2 * MARGIN_SIZE), _
sngButtonTop - (2 * MARGIN_SIZE)
End With
Exit Sub
Form_Resize_Error:
' impedisce la generazione di errori nel caso di valori negativi
Resume Next
End Sub