Hej igen! Ett sätt (inte så snyggt) är att referera till formuläret i frågan: Skippa vilkoret i frågan. Du kan ange det när du öppnar rapporten: Hej igen Anders! Fältet i whervilkoret måste ingå i Select satsen. Du saknar . Så det var det som var fel...En Fråga, En Knapp och en rapport
Jag har en fråga som har en variabel som heter Test...
PARAMETERS test Long;
SELECT [Kit].[Name], [KitParameter].[Name], [KitGroup].[Name],
([Kit].[PurchasePrice]*[Currency Purchase].[currency]*(1+[Currency Purchase].[Shippingcost])*(1+[Intercompany Pricing Per Parameter].[InterCompanyAddOn])*[Factor].[Factor])/([Currency Intercompany].[Currency]) AS CountrySalesPrice
FROM (((((Kit LEFT JOIN [Currency Purchase] ON [Currency Purchase].[ID]=[Kit].[CurrencyPurchaseID])
LEFT JOIN KitParameter ON [KitParameter].[ID]=[Kit].[ParameterID])
LEFT JOIN KitGroup ON [KitGroup].[ID]=[KitParameter].[GroupID])
LEFT JOIN [InterCompany Pricing Per Parameter] ON [InterCompany Pricing Per Parameter].[ParameterID]=[KitParameter].[ID])
LEFT JOIN [Currency Intercompany] ON [Currency Intercompany].[ID]=[InterCompany Pricing Per Parameter].[CurrencyIntercompany])
LEFT JOIN Factor ON [InterCompany Pricing Per Parameter].[FactorID]=[Factor].[ID]
WHERE [InterCompany Pricing Per Parameter].[CurrencyIntercompany]=test
ORDER BY [KitGroup].[Name], [KitParameter].[Name], [Kit].[Name];
Denna bestämmer vad jag skall se få för land i frågan. Frågan är kopplad till en rapport.
Jag har ett formulär där jag har en dropdown list med ländernas ID (Länderna i text visas).
Jag har en knapp för utskrift.
Jag vill att man väljer land med dropdownlisten, trycker på utskriftsknappen och får ut listan med det landet jag valt.
Hur gör jag för att koppla ihop dessa...
Mvh Anders
Sv: En Fråga, En Knapp och en rapport
SELECT [Kit].[Name], [KitParameter].[Name], [KitGroup].[Name],
([Kit].[PurchasePrice]*[Currency Purchase].[currency]*(1+[Currency Purchase].[Shippingcost])*(1+[Intercompany Pricing Per Parameter].[InterCompanyAddOn])*[Factor].[Factor])/([Currency Intercompany].[Currency]) AS CountrySalesPrice
FROM (((((Kit LEFT JOIN [Currency Purchase] ON [Currency Purchase].[ID]=[Kit].[CurrencyPurchaseID])
LEFT JOIN KitParameter ON [KitParameter].[ID]=[Kit].[ParameterID])
LEFT JOIN KitGroup ON [KitGroup].[ID]=[KitParameter].[GroupID])
LEFT JOIN [InterCompany Pricing Per Parameter] ON [InterCompany Pricing Per Parameter].[ParameterID]=[KitParameter].[ID])
LEFT JOIN [Currency Intercompany] ON [Currency Intercompany].[ID]=[InterCompany Pricing Per Parameter].[CurrencyIntercompany])
LEFT JOIN Factor ON [InterCompany Pricing Per Parameter].[FactorID]=[Factor].[ID]
WHERE [InterCompany Pricing Per Parameter].[CurrencyIntercompany]=<b>[forms]![formulärets namn].[form]![fältnamn]</b>
ORDER BY [KitGroup].[Name], [KitParameter].[Name], [Kit].[Name];
/JohanSv: En Fråga, En Knapp och en rapport
Function SQLText(Value) As String
If Len(Value) > 0 Then
SQLText = "'" & Replace(Value, "'", "''") & "'"
Else
SQLText = "Null"
End If
End Function
Private Sub Command3_Click()
Const stDocName As String = "Report1"
On Error GoTo Err_Command3_Click
If IsNull(Combo0.Value) Then
MsgBox "Select an item from the combobox", vbExclamation
Combo0.SetFocus
Else
DoCmd.OpenReport stDocName, acPreview, , "[InterCompany Pricing Per Parameter].[CurrencyIntercompany]=" & SQLText(Combo0.Value)
End If
Exit_Command3_Click:
Exit Sub
Err_Command3_Click:
MsgBox Err.Description
Resume Exit_Command3_Click
End Sub
Detta vilkoret för rapporten dynamiskt. Du kan ange flera olika vilkor till samma rapport utan att skapa eller redigera fråga.
Om du istället vill visa alla poster om man inte markerat något skriver du:
Private Sub Command3_Click()
Const stDocName As String = "Report1"
On Error GoTo Err_Command3_Click
If IsNull(Combo0.Value) Then
DoCmd.OpenReport stDocName, acPreview
Else
DoCmd.OpenReport stDocName, acPreview, , "[InterCompany Pricing Per Parameter].[CurrencyIntercompany]=" & SQLText(Combo0.Value)
End If
Exit_Command3_Click:
Exit Sub
Err_Command3_Click:
MsgBox Err.Description
Resume Exit_Command3_Click
End Sub
Sv:En Fråga, En Knapp och en rapport
Jag har tyvärr fortfarande lite problem med den, men jag satt igår eftermiddag och försökte med den lösningen som du föreslår... Samma som du har gjort: skippade parametern i frågan och jobbade med vba koden istället.
Nu har jag gjort lite annorlunda bara för att testa så att jag får rätt... test är en textbox som jag skriver i 1-6 beroende på land bara för att se att jag får över data till rapporten.
SELECT KitGroup.Name, KitParameter.Name, Kit.Name,
Kit.PurchasePrice*[Currency Purchase].currency*(1+[Currency Purchase].Shippingcost)*(1+[Intercompany Pricing Per Parameter].InterCompanyAddOn) AS CountryPurchasePrice,
(Kit.PurchasePrice*[Currency Purchase].currency*(1+[Currency Purchase].Shippingcost)*(1+[Intercompany Pricing Per Parameter].InterCompanyAddOn)*Factor.Factor)/([Currency Intercompany].Currency) AS CountrySalesPrice,
[Currency Intercompany.Name], [Currency Intercompany].Country
FROM (((((Kit LEFT JOIN [Currency Purchase] ON [Currency Purchase].ID=Kit.CurrencyPurchaseID)
LEFT JOIN KitParameter ON KitParameter.ID=Kit.ParameterID)
LEFT JOIN KitGroup ON KitGroup.ID=KitParameter.GroupID)
LEFT JOIN [InterCompany Pricing Per Parameter] ON [InterCompany Pricing Per Parameter].ParameterID=KitParameter.ID)
LEFT JOIN [Currency Intercompany] ON [Currency Intercompany].ID=[InterCompany Pricing Per Parameter].CurrencyIntercompany)
LEFT JOIN Factor ON [InterCompany Pricing Per Parameter].FactorID=Factor.ID
ORDER BY KitGroup.Name, KitParameter.Name, Kit.Name;
Function SQLText(Value) As String
If Len(Value) > 0 Then
SQLText = "'" & Replace(Value, "'", "''") & "'"
Else
SQLText = "Null"
End If
End Function
Private Sub Command6_Click()
On Error GoTo Err_Command6_Click
Dim strWhereCondition As String
Dim stDocName As String
stDocName = "Admin Sales Price With Factor Seperate Country"
If IsNull(test.Value) Then
MsgBox "Select an item from the combobox", vbExclamation
test.SetFocus
Else
DoCmd.OpenReport stDocName, acPreview, , "[InterCompany Pricing Per Parameter].[CurrencyIntercompany] =" & SQLText(test.Value)
End If
Exit_Command6_Click:
Exit Sub
Err_Command6_Click:
MsgBox Err.Description
Resume Exit_Command6_Click
End Sub
Först fyller jag exempelvis i 1 i textrutan.
När jag sedan trycker på knappen så kommer det upp en msgbox där det står:
Överskrift: Enter Parameter value
Text: "Intercompany Pricing Per"
textruta
OK Cancel
Jag förstår inte rigtigt varför det inte står "InterCompany Pricing Per Parameter"!?!? då hade det sett lite mer natruligt ut men när den klipper...??? Fyller man i exempelvis 1 (Sverige) i textrutan, kommer rapporten fram men i den finns alla länder.
Mvh Anders
Sv: En Fråga, En Knapp och en rapport
Testa frågan:
SELECT KitGroup.Name, KitParameter.Name, Kit.Name,
Kit.PurchasePrice*[Currency Purchase].currency*(1+[Currency Purchase].Shippingcost)*(1+[Intercompany Pricing Per Parameter].InterCompanyAddOn) AS CountryPurchasePrice,
(Kit.PurchasePrice*[Currency Purchase].currency*(1+[Currency Purchase].Shippingcost)*(1+[Intercompany Pricing Per Parameter].InterCompanyAddOn)*Factor.Factor)/([Currency Intercompany].Currency) AS CountrySalesPrice,
[Currency Intercompany.Name], [Currency Intercompany].Country, [InterCompany Pricing Per Parameter].CurrencyIntercompany
FROM (((((Kit LEFT JOIN [Currency Purchase] ON [Currency Purchase].ID=Kit.CurrencyPurchaseID)
LEFT JOIN KitParameter ON KitParameter.ID=Kit.ParameterID)
LEFT JOIN KitGroup ON KitGroup.ID=KitParameter.GroupID)
LEFT JOIN [InterCompany Pricing Per Parameter] ON [InterCompany Pricing Per Parameter].ParameterID=KitParameter.ID)
LEFT JOIN [Currency Intercompany] ON [Currency Intercompany].ID=[InterCompany Pricing Per Parameter].CurrencyIntercompany)
LEFT JOIN Factor ON [InterCompany Pricing Per Parameter].FactorID=Factor.ID
ORDER BY KitGroup.Name, KitParameter.Name, Kit.Name;
Och koden:
Function SQLNumber(Value)
If IsNumeric(Value) Then
SQLNumber = CStr(Value)
Else
SQLNumber = "Null"
End if
End Function
Private Sub Command6_Click()
On Error GoTo Err_Command6_Click
Dim strWhereCondition As String
Dim stDocName As String
stDocName = "Admin Sales Price With Factor Seperate Country"
If IsNull(test.Value) Then
MsgBox "Select an item from the combobox", vbExclamation
test.SetFocus
Else
DoCmd.OpenReport stDocName, acPreview, , "[CurrencyIntercompany] =" & SQLNumber(test.Value)
End If
Exit_Command6_Click:
Exit Sub
Err_Command6_Click:
MsgBox Err.Description
Resume Exit_Command6_Click
End Sub
</code>
Sv:En Fråga, En Knapp och en rapport
Man kan alltså inte ha med tabellnamnet när du använder OpenReport kommandot, utan måste ta med variabeln i SELECT.
Tack så hemskt mycket!
I två dagar har jag kämpat med den j*&/¤# också var det ett enkelt problem...
Mvh Anders