In addition to John_G's comments, there are a couple of other changes that should be made.
Since the variable "VendorName" is a string, there needs to be delimiters in the SQL.
And the recordset needs to be closed, then destroyed. If any of the vendor names have quotes (single or double), you will need to handle them or the SQL will error.
Code:
Sub Export_Suppliers()
Dim dB As DAO.Database
Dim Suppliers_only As DAO.Recordset
Dim sVendorName As String
Dim Base_SQL As String
Dim FBKO_Query_2 As String
Dim tmpQueryDef As String
Set dB = CurrentDb
Base_SQL = "SELECT * FROM FBKO_Supplier WHERE Supplier = "
Set Suppliers_only = CurrentDb.OpenRecordset("Suppliers only")
Do While Not Suppliers_only.EOF
sVendorName = Suppliers_only("VendorName")
FBKO_Query_2 = "get_Suppliers_" & VendorName & "_DC_Name"
'Debug.Print FBKO_Query_2
tmpQueryDef = Base_SQL & "'" & sVendorName & "';" ' Added text delimiters
'Debug.Print tmpQueryDef
dB.CreateQueryDef FBKO_Query_2, tmpQueryDef
DoCmd.TransferText TransferType:=acExportDelim, TableName:=FBKO_Query_2, FileName:=sVendorName & "FBKO.csv", HasFieldNames:=True
dB.QueryDefs.Delete FBKO_Query_2
Suppliers_only.MoveNext
Loop
' clean up
Suppliers_only.Close
Set Suppliers_only = Nothing
Set dB = Nothing
End Sub