Ibland blir man frustrerad... MisMatch Dvs felaktig DataTyp Sträng - Long Det fungerade till viss del... Om det är en TextBox som skall bli röd får du ju tala om det för programmet. Textboxen heter SalesDiscount och hämtar sitt värde från en databasfråga... Fortfarande är jag intresserad av vad MinMargin är för object ? jag antar att du hanterar det som en array - du måste sätta den enskilda boxens bakgrund till röd. JAg antar att det rör sig om access och ett contious for eller datasheet. Ursäkta mitt lite sen svar... Jag tror att jag löste det med Anders svar... Dock får jag ingen text men färg räcker för tillfället.Felmeddelande "runtime error 13"
Private Sub SalesDiscount_AfterUpdate()
If [SalesDiscount] > 1 Then
[SalesDiscount] = [SalesDiscount] / 100
End If
If Me.SalesDiscount.Value < Me.MinMargin Then
Me.SalesDiscount.BackColor = "RED"
Else: Me.SalesDiscount.BackColor = "WHITE"
End If
End Sub
På andra if satsen protesterar den konstant när jag vill ändra bakgrundsfärgen på min textbox i access...
VAD GÖR JAG FÖR FEL!?!?!?!?
Sv: Felmeddelande "runtime error 13"
Testa detta programmet vet inte vad "RED" betyder
Om du eventuellt definierat RED som Constant någon annanstans
så skall det vara DataTyp Long dvs ta bort "fnuttarna"
<code>
If Me.SalesDiscount.Value < Me.MinMargin Then
Me.SalesDiscount.BackColor = vbRed
Else
Me.SalesDiscount.BackColor = vbWhite
End If
</code>Sv:Felmeddelande "runtime error 13"
Personligen tycker jag att det borde fungera, men bakgrunden blir inte röd som jag vill på textboxen.
Nu ger den dock inget felmeddelande!Sv: Felmeddelande "runtime error 13"
Princip kod. Me.Text1.Backcolor = vbRed
Vad är SalesDiscount för ett objekt ?
Vad är MinMargin för objekt verkar vara DataTyp misMatch även där.
Man kan inte fråga om If 225 < Lastbil är True
DVS man måste skilja på "koddar och morrötter"Sv:Felmeddelande "runtime error 13"
Och jag löste det... Nästan.
Listan med artiklar där salesDiscount ingår kan vara olika lång, men när man rabatterar för mycket blir alla salesDiscount celler röda och inte bara den där man rabatterade för mycket.Sv: Felmeddelande "runtime error 13"
Sv: Felmeddelande "runtime error 13"
tex minTextboxArray[2].Background = vbRed (du kan också skapa egna konstanter med egendefinierade färger.)
Du kan inte bara tilldela minTextBoxArray.Background ett värde.
Det är alltid svårt att ge bra svar när man bara har delar av informationen...
/EmmaSv: Felmeddelande "runtime error 13"
Lösningen heter Conditional format.
* Markera den kontroll du önskar ändrar värde.
* GÅ in under menyn "Format" välj "Conditional formatin..."
I dialogen som dyker upp kan du formatera en kontrollom ett utttryck uppfylls.
Ingen VBA kod är nödvändig.Sv:Felmeddelande "runtime error 13"
Jag hämtar värdet från en SQL-fråga i Access, så i den meningen blir det som en array som ökar och minskar hela tiden. Själva koden i sig som jag fick ovan fungerar som sagt till viss del men inte riktigt som jag vill.
Problemet tror jag ligger någonstans i att i och med att jag hämtar det som en fråga och utifrån det sedan skall enbart denna textbox för specifikt denna raden på svaret bli, exempelvis röd.
Frågan ser ut som följer:
SELECT [Kit].[ID], [Kit].[Name], [Kit].[SEK], [Kit].[SalesDiscount], [Kit].[SalesAnnualTest],
[Kit].[SalesNoOfReruns], [Kit].[SalesControlsPerYear], [Kit].[IsOffered], [Kit].[PurchasePrize],
[Kit].[MachineId], [Currency].[Currency], [Currency].[ShippingCost], [Parameter].[ParameterMaxDiscount],
[Parameter].[Adjusters], [Parameter].[MinMargin], [Parameter].[Name], [Machine].[Name],
[Kit].[Size], [Kit].[PurchasePrize]*[Currency].[currency]*(1+[Currency].[ShippingCost]) AS KitZeroMargin, [Kit].[Sek]*(1-[Kit].[SalesDiscount]) AS KitOfferedPrize, (KitOfferedPrize-KitZeroMargin)/KitZeroMargin AS MarginSales,
([Kit].[SalesAnnualTest]+[Kit].[SalesControlsPerYear]+[Kit].[SalesNoOfReruns]*[Kit].[SalesAnnualTest]+[Parameter].[Adjusters]) AS TotalTests,
KitOfferedPrize/[Kit].[Size] AS PricePerPatientExlCons
FROM ((Kit LEFT JOIN [Currency] ON [Kit].[CurrencyId]=[Currency].[ID]) LEFT JOIN Parameter ON [Kit].[ParameterId]=[Parameter].[ID])
LEFT JOIN Machine ON [Kit].[MachineID]=[Machine].[ID]
WHERE [Kit].[IsOffered]=True;
¨
Sv: Felmeddelande "runtime error 13"