J'ai une liste déroulante qui est liée à une colonne dans une feuille de calcul Excel. Je sélectionne un client dans la liste déroulante, puis remplis certains champs d'adresse avec des données connexes également à partir de la feuille de calcul Excel.Comment faire pour gérer les valeurs null dans la requête SQL VBA Word?
code:
Private Sub cboCompany_Change()
Dim customerName As String
customerName = cboCompany.Value
customerName = Replace(customerName, "'", "''")
Dim i As Integer
Dim cn As ADODB.Connection
Dim rsT As New ADODB.Recordset
Dim customer As String
Dim postcode As String
Dim address1 As String
Dim suburb As String
Dim addressType As String
Dim state As String
Dim country As String
Set cn = New ADODB.Connection
With cn
.Provider = "Microsoft.Jet.OLEDB.4.0"
.ConnectionString = "Data Source=C:\Customer.xls;Extended Properties=Excel 8.0;"
.CursorLocation = adUseClient
.Open
End With
rsT.Open "SELECT Customer, Postcode, [Address 1] AS Address1, [Postal Suburb] AS Suburb, [Address Type] AS AddressType, State, Country FROM Customers WHERE [Address Type] = 'Postal Address' AND Customer = '" & customerName & "'", cn, adOpenStatic
i = 0
With rsT
Do Until .EOF
customer = rsT.Fields("Customer")
postcode = rsT.Fields("Postcode")
address1 = rsT.Fields("Address1")
suburb = rsT.Fields("Suburb")
addressType = rsT.Fields("AddressType")
state = rsT.Fields("State")
country = rsT.Fields("Country")
CompanyAddress1.Value = address1
CompanyAddress2.Value = suburb + " " + state + " " + postcode + " " + country
CompanyName.Value = customer
.MoveNext
i = i + 1
Loop
End With
End Sub
Cependant, si l'un des champs (banlieue par exemple) est vide la forme plante alors comment puis-je gérer cela?
Votre titre dit Word, mais votre question parle d'Excel. –
J'ai la macro dans le document Word mais elle récupère les données d'une feuille de calcul Excel. – Morgan
Quoi qu'il en soit, avec suburb = rsT.Fields ("Suburb") et banlieue est nul pour ce client, comment puis-je faire face à cela? – Morgan