Ich habe ein Kombinationsfeld in einem Formular und möchte aus Tabelle mit VBA-Code auffüllen. Die Abfrage hat zwei Spalten proc_name und dann ID und hat die Spaltenanzahl der Combo-Box auf 2 gesetzt, aber wenn das Formular geladen wird, sehe ich zuerst ID und dann proc_name. Warum passiert dies?MS Access: Kombinationsfeld Spaltenreihenfolge Problem
Für das andere Kombinationsfeld mit ähnlicher Tabellenstruktur zeigen sie die Spaltenreihenfolge, die ich in der Abfrage definiert habe.
Private Sub Form_Load()
Dim strSQL As String
createCon
strSQL = "Select proc_name, ID from tblProcess"
Set objRecordset = New ADODB.Recordset
objRecordset.Open strSQL, objConnection, adOpenKeyset, adLockOptimistic
If Not (objRecordset.EOF And objRecordset.BOF) Then
Set Me.cmbProcess.Recordset = objRecordset
End If
objRecordset.Close
Set objRecordset = Nothing
End Sub
Was ist mit dieser Änderung geschieht? 'strSQL =" Wählen Sie proc_name AS f1, ID AS f2 aus tblProcess "' – HansUp
Wenn ich Ihre Abfrage verwendet, zeigt es richtig, was ist der Grund? – Santosh
Es scheint, dass die Recordset-Spalten in alphabetischer Reihenfolge verarbeitet werden, wenn sie in das Kombinationsfeld geladen werden. Ich habe die Feldnamen mit Aliasnamen versehen, damit sie in der von Ihnen gewünschten Reihenfolge verarbeitet werden. – HansUp