Partiamo dal codice:
codice:
Private Sub Form_Load()
Dim SQL As String
Set Conn = New ADODB.Connection
Set Rs = New ADODB.Recordset
StringaConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\database.mdb;Persist Security Info=False"
Conn.Open StringaConn
SQL = "SELECT ID,Cognome,Societa,Telefono_1 FROM Agenda ORDER BY ID"
With Rs
.ActiveConnection = Conn
.CursorLocation = adUseServer
.CursorType = adOpenKeyset
.LockType = adLockOptimistic
.Properties("IRowsetIdentity") = True
.Open SQL, , , , adCmdText
End With
Set dgr_agenda.DataSource = Rs
dgr_agenda.Columns(0).Width = 500
dgr_agenda.Columns(1).Width = 2000
dgr_agenda.Columns(2).Width = 2000
dgr_agenda.Columns(3).Width = 1500
dgr_agenda.MarqueeStyle = 3
End Sub
codice:
Private Sub cmd_excel_Click()
Dim i As Integer
Dim SQL As String
Set Rs = New ADODB.Recordset
Dim ExcelApp As Excel.Application
Dim ExcelBook As Workbook
MsgBox "Esportazione in Excel effettuata.", vbOKOnly, "Avviso"
Set Rs = Conn.Execute("SELECT * FROM Agenda")
Rem Set ExcelApp = CreateObject("Excel.Application")
Set ExcelApp = New Excel.Application
ExcelApp.Application.Visible = True
Set ExcelBook = ExcelApp.Workbooks.Add
With ExcelApp.Application
.Range("A1", "L1").Select
.Selection.Interior.ColorIndex = 35
.Cells(1, 1).Value = "ID"
.Cells(1, 2).Value = "Società"
.Cells(1, 3).Value = "Nome"
.Cells(1, 4).Value = "Cognome"
.Cells(1, 5).Value = "Indirizzo"
.Cells(1, 6).Value = "Città"
.Cells(1, 7).Value = "Telefono (1)"
.Cells(1, 8).Value = "Telefono (2)"
.Cells(1, 9).Value = "Cellulare"
.Cells(1, 10).Value = "Fax"
.Cells(1, 11).Value = "E-Mail"
.Cells(1, 12).Value = "Note"
i = 2
Do While Not Rs.EOF
.Cells(i, 1).Value = Rs.Fields("ID").Value
.Cells(i, 2).Value = Rs.Fields("Societa").Value
.Cells(i, 3).Value = Rs.Fields("Nome").Value
.Cells(i, 4).Value = Rs.Fields("Cognome").Value
.Cells(i, 5).Value = Rs.Fields("Indirizzo").Value
.Cells(i, 6).Value = Rs.Fields("Citta").Value
.Cells(i, 7).Value = Rs.Fields("Telefono_1").Value
.Cells(i, 8).Value = Rs.Fields("Telefono_2").Value
.Cells(i, 9).Value = Rs.Fields("Cellulare").Value
.Cells(i, 10).Value = Rs.Fields("Fax").Value
.Cells(i, 11).Value = Rs.Fields("Mail").Value
.Cells(i, 12).Value = Rs.Fields("Notes").Value
i = i + 1
Rs.MoveNext
Loop
.Cells(1, 1).Select
ExcelApp.Selection.HorizontalAlignment = xlCenter
End With
ExcelApp.Quit
Set ExcelApp = Nothing
Set ExcelBook = Nothing
End Sub
fin qui tutto bene, il problema nasce quando voglio aprire i dettagli del record:
codice:
Private Sub dgr_agenda_dblClick()
ID_Agenda = Rs.Fields("ID").Value
frm_agenda_dettaglio.Show
End Sub
DOPO aver fatto l'esportazione, è come se sballasse l'acquisizione dell'ID Record.
Avete idea di come risolvere? Refresh? RIcaricare la datagrid?
Grazie