最近、アクセスの中で何かをやろうとしていて、静かにできないという問題があります。今 My queryAccess 2003 - VBA/queryエラーメッセージ
:
Option Compare Database
Option Explicit
Private Sub cboLocation_AfterUpdate()
Me.cboServer.RowSource = " SELECT tbl2Server.ServerID, tbl2Server.ServerName FROM tbl2Server " & _
" WHERE LocationName = " & Nz(Me.cboLocation) & _
" ORDER BY ServerName"
Me.cboServer = Null
EnableControls
FilterInterfacesList
End Sub
Private Sub cboServer_AfterUpdate()
Me.cboInterface.RowSource = " SELECT tbl2Vlan.VlanID, tbl2Vlan.InterfaceName FROM tbl2Vlan " & _
" WHERE LocationName = " & Nz(Me.cboLocation) & _
" ORDER BY InterfaceName"
Me.cboInterface = Null
EnableControls
FilterInterfacesList
End Sub
Private Sub cboInterface_AfterUpdate()
EnableControls
FilterInterfacesList
End Sub
Private Sub FilterInterfacesList()
Dim strInterface As String
strInterface = "SELECT qryServerInterfaces.LocationName, qryServerInterfaces.ServerName, qryServerInterfaces.InterfaceName, qryServerInterfaces.VlanName, qryServerInterfaces.IPAddress, qryServerInterfaces.DefaultGatewayAddress FROM qryServerooInterfaces"
If Not IsNull(Me.cboInterface) Then
strInterface = strInterface & " WHERE InterfaceName = " & Me.cboInterface
ElseIf Not IsNull(Me.cboServer) Then
strInterface = strInterface & " WHERE ServerName = " & Me.cboServer
ElseIf Not IsNull(Me.cboLocation) Then
strInterface = strInterface & " WHERE LocationName = " & Me.cboLocation
End If
strInterface = strInterface & " ORDER BY qryServerInterfaces.LocationName;"
Me.lstInterfaces.RowSource = strInterface
Me.lstInterfaces.Requery
End Sub
Private Sub EnableControls()
If IsNull(Me.cboLocation) Then
Me.cboServer = Null
End If
If IsNull(Me.cboServer) Then
Me.cboInterface = Null
End If
Me.cboServer.Enabled = (Not IsNull(Me.cboLocation))
Me.cboInterface.Enabled = (Not IsNull(Me.cboServer))
End Sub
Private Sub Form_Load()
EnableControls
End Sub
とこのようになります問い合わせ:
私はこのコードを得ました。私の問題は、もし私が "物"や "物"のような基準の下にあれば、私の質問は情報を表示するということです。私が "null"の下にすべてを置いていないなら、私のフォーム(下の図)は彼のリスト内に何も表示されません。私の基準を「無効」にすると、私は障害や何かをしているというメッセージが表示されます。
誰がアップしているか知っていますか?前もって感謝します!同じ問題を抱えている人にとって
SELECT tbl1Location.LocationName,
tbl2Server.ServerName,
tbl2Vlan.InterfaceName,
tbl2Vlan.VlanName,
tbl3IP.IPAddress,
tbl2Vlan.DefaultGatewayAddress
FROM ((tbl1Location INNER JOIN tbl2Server ON tbl1Location.LocationID = tbl2Server.LocationName)
INNER JOIN tbl2Vlan ON tbl1Location.LocationID = tbl2Vlan.LocationName)
INNER JOIN tbl3IP ON (tbl2Server.ServerID = tbl3IP.ServerName)
AND (tbl2Vlan.VlanID = tbl3IP.InterfaceName)
WHERE (
((tbl1Location.LocationName)=[Forms]![frmInterfaces]![cboLocation]) AND
((tbl2Server.ServerName)=[Forms]![frmInterfaces]![cboServer]) AND
((tbl2Vlan.InterfaceName)=[Forms]![frmInterfaces]![cboInterface])
) OR
(
((tbl2Server.ServerName)=[Forms]![frmInterfaces]![cboServer]) AND
((tbl2Vlan.InterfaceName)=[Forms]![frmInterfaces]![cboInterface]) AND
((([tbl1Location].[LocationName]) Like [Forms]![frmInterfaces]![cboLocation]) Is Null)
) OR
(
((tbl1Location.LocationName)=[Forms]![frmInterfaces]![cboLocation]) AND
((tbl2Vlan.InterfaceName)=[Forms]![frmInterfaces]![cboInterface]) AND
((([tbl2Server].[ServerName]) Like [Forms]![frmInterfaces]![cboServer]) Is Null)
) OR
(
((tbl2Vlan.InterfaceName)=[Forms]![frmInterfaces]![cboInterface]) AND
((([tbl1Location].[LocationName]) Like [Forms]![frmInterfaces]![cboLocation]) Is Null) AND
((([tbl2Server].[ServerName]) Like [Forms]![frmInterfaces]![cboServer]) Is Null)
) OR
(
((tbl1Location.LocationName)=[Forms]![frmInterfaces]![cboLocation]) AND
((tbl2Server.ServerName)=[Forms]![frmInterfaces]![cboServer]) AND
((([tbl2Vlan].[InterfaceName]) Like [Forms]![frmInterfaces]![cboInterface]) Is Null)
) OR
(
((tbl2Server.ServerName)=[Forms]![frmInterfaces]![cboServer]) AND
((([tbl1Location].[LocationName]) Like [Forms]![frmInterfaces]![cboLocation]) Is Null) AND
((([tbl2Vlan].[InterfaceName]) Like [Forms]![frmInterfaces]![cboInterface]) Is Null)
) OR
(
((tbl1Location.LocationName)=[Forms]![frmInterfaces]![cboLocation]) AND
((([tbl2Server].[ServerName]) Like [Forms]![frmInterfaces]![cboServer]) Is Null) AND
((([tbl2Vlan].[InterfaceName]) Like [Forms]![frmInterfaces]![cboInterface]) Is Null)
) OR
(
((([tbl1Location].[LocationName]) Like [Forms]![frmInterfaces]![cboLocation]) Is Null) AND
((([tbl2Server].[ServerName]) Like [Forms]![frmInterfaces]![cboServer]) Is Null) AND
((([tbl2Vlan].[InterfaceName]) Like [Forms]![frmInterfaces]![cboInterface]) Is Null)
)
[3]:http://i.stack.imgur.com/1cvyN.png - エラーメッセージ –
これは奇妙なクエリです。奇妙なエラーメッセージではありません。 SQLを表示し、コピー/貼り付けがあなたの質問に{}コードタグで囲まれたテキストであれば、見やすくなります。おそらく、それらの結合のいくつかを排除する方法があると思います。それらはほぼ円形に見えます。あなたはいくつかのサブクエリを構築しているかもしれません - そして、このクエリでそれらを結合してください – dbmitch
私はそれを追加しました、クエリに行って、私が見た可視のコードのすべてを貼り付けコピー... –