2011-01-12 4 views
0

J'ai le code ci-dessous qui prend certains champs de mon formulaire MS Access (une petite base de données de réservation d'hôtel) et remplit des cellules définies dans ledit fichier Excel.Formulaire MS Access remplissant certains champs dans un fichier Excel

Dim objXLApp As Object 
Dim objXLBook As Object 
Set objXLApp = CreateObject("Excel.Application") 
Set objXLBook = objXLApp.Workbooks.Open("Y:\123files\File\Hotel Reservation.xls") 
objXLApp.Application.Visible = True 

objXLBook.ActiveSheet.Range("B2") = Me.GuestFirstName & " " & GuestLastName 
objXLBook.ActiveSheet.Range("C2") = Me.PhoneNumber 
objXLBook.ActiveSheet.Range("E2") = Me.cboCheckInDate 
objXLBook.ActiveSheet.Range("F2") = Me.cboCheckOutDate 
objXLBook.ActiveSheet.Range("H2") = Me.RoomType 
objXLBook.ActiveSheet.Range("I2") = Me.RoomNumber 
End Sub 

Me.RoomType est une zone de liste avec la source de rangée étant une requête 3 de colonne. Quand j'exécute le code, le fichier excel liste la première colonne de ma requête au lieu de la colonne 2 dont j'ai besoin, comment puis-je lui demander d'ajouter la deuxième colonne de ma requête au lieu de la première? Aussi, comment puis-je passer à la ligne suivante dans le fichier Excel lorsque je passe à un nouveau formulaire clients dans mon fichier Access?

Merci

Répondre

1

Utilisez la propriété de la colonne de votre zone de liste déroulante pour extraire la valeur que vous voulez. La numérotation des colonnes commence par zéro, donc la seconde sera la colonne (1). Essayez ceci:

objXLBook.ActiveSheet.Range("H2") = Me.RoomType.Column(1) 

Pour plus d'informations, voir Méthode 2 à How to Use the Column Property of a Combo Box to Update a Text Box

Je ne suis pas sûr que dire en réponse à votre deuxième question. Je pense que vous devez spécifier vos Ranges lors de l'exécution en concaténant la lettre de colonne et une variable de numéro de ligne.

Dim lngExcelRow as Long 
lngExcelRow = 2 
objXLBook.ActiveSheet.Range("B" & lngExcelRow) = [something ...] 

Ensuite, pour écrire dans une autre ligne de feuille de calcul, modifiez la valeur de lngExcelRow.

+0

Merci HansUp, mais la colonne (1) a renvoyé l'erreur "Méthode ou membre de données introuvable" et il met en évidence .column – Edmond

+0

Merci HansUp J'ai trouvé mon erreur pour Me.RoomType – Edmond

Questions connexes