Een waarschuwing maken

Status
Niet open voor verdere reacties.

old Hippy

Gebruiker
Lid geworden
24 mei 2008
Berichten
911
Hallo allemaal

Ik wil graag mijn waarschuwing uitbreiden.
maar weet niet hoe.
ik heb dit.

Code:
  Function Alert_Update() As Boolean
        Try
            For Each NRow In Me.ProductonderdelenDataGridView.Rows
                If NRow.Cells(5).Value IsNot DBNull.Value Then
                    If CType(NRow.Cells(5).Value(), Integer) > CType(NRow.Cells(0).Value(), Integer) - 1 Then
                        NRow.DefaultCellStyle.ForeColor = Color.Black
                    Else
                        NRow.DefaultCellStyle.ForeColor = Color.Red
                        Label4.Visible = True
                        Label27.Text = "voor het ontwerp; (" & OntwerpnaamComboBox.Text & ")" & vbNewLine & "Is er onvoldoende voorraad van Artikel: " & CType(NRow.Cells(2).Value(), String)
                    End If
                Else
                End If
            Next
        Catch ex As InvalidCastException

        End Try

    End Function


Wat ik graag wil is dat het elk artikel weergeeft wat rood is aan gemerkt met naam in het waarschuwing label zie afbeelding

Met vriendelijke groeten Old Hippy
 

Bijlagen

  • Knipsel.JPG
    Knipsel.JPG
    66,6 KB · Weergaven: 29
Laatst bewerkt:
Is het mischien mogelijk dit in een listbox te krijgen.
dus ieder artikel dat aan de voorwaarde voldoet in de listbox komt of zo.

dus benodigt aantal is groter dan voorraad.
word nu rood.

inplaats van rood in een listbox.

MAAR HOE???????

Groet Old Hippy
 
Huh?

Daar snap ik geen snars van. Geef eens duidelijk aan in een screenshot wat je wilt bereiken.
 
Hallo The Mighty Atom

kijk bij de bijlage op de afbeelding zie je twee artikelen die rood zijn.
deze worden met de code die er bij staat rood.
van dat artikel is dus tekort om het nog eens zamen te stellen.

in de waarschuwing zie je dat er maar 1 artikel instaat.
het is mogelijk dat er 1 of meerdere artikelen niet voldoende op voorraad zijn.
en ik wil dus dat al die artikelen in een lijst of het label komen te staan.

hopelijk is deze uitleg voldoende
m.v.g Old Hippy
 
Ah op die manier.

Wat je kan doen is checken van welke artikelen er te weinig op voorraad zijn en deze toevoegen aan een string die je weer in die label laat zien.

Hier heb je wat pseudocode:

Code:
Dim sArtikel, sOntwerpNaam As String

If benodigd aantal is lager dan voorraad
sOntwerpNaam += NaamVanOntwerper
sArtikel += NaamVanArtikel
End If

+= zorgt ervoor dat je een waarde toevoegd aan de bestande waarden, deze wordt dus niet vervangen. Zou je alleen = gebruiken, dan wel.

Dan kun je dit doen om de waarschuwing label te vullen:
Code:
Voor het ontwerp: & sOntwerpNaam & vbcrlf & _
Is er onvoldoende voorraad van artikel & sArtikel

Zoiets.

Wat je misschien ook op wilt checken is de hoeveel waarschuwingen. Zijn het er meer dan 1, dan moet je die waarschuwings tekst iets anders formuleren dan wanneer het maar 1 waarschuwing is.
 
Laatst bewerkt:
Ha The Mighty Atom
Komt al een stapje dichter bij.

Maar zet het artikel er nu driekeer in b.v. artikel, zilver en artikel blauwekraal zijn rood,
in het label krijg je dan ( zilverblauwekraalzilverblauwekraalzilverblauwekraal)

er zou moeten komen testaan (zilver blauwekraal) dus ook een spatie of onder elkaar.

de product naam werkt wel om dat die maar 1 keer voor kan komen.

Code tot nu toe:
Code:
 Function Alert_Update() As Boolean
        Try
            For Each NRow In Me.ProductonderdelenDataGridView.Rows
                If NRow.Cells(5).Value IsNot DBNull.Value Then
                    If CType(NRow.Cells(5).Value(), Integer) > CType(NRow.Cells(0).Value(), Integer) - 1 Then 'Kijkt naar het verschil tussen benodigd aantal en voorraad
                        NRow.DefaultCellStyle.ForeColor = Color.Black
                    Else
                        sArtikel += NRow.Cells(2).Value()
                        NRow.DefaultCellStyle.ForeColor = Color.Red
                        Label4.Visible = True
                        Label27.Text = "voor het ontwerp; (" & OntwerpnaamComboBox.Text & ")" _
                        & vbNewLine & "Is er onvoldoende voorraad van Artikel: (" & sArtikel & ")"
                    End If
                Else
                End If
            Next
        Catch ex As InvalidCastException
        End Try

    End Function
 
Je moet natuurlijk elke keer die string weer leegmaken, anders wordt die string steeds maar langer en klopt er niks meer van.

Waarschijnlijk loopt tie meerdere keren die for each waardoor die dus meer dan eens die contorle uitvoert en dus steeds opnieuw de string 'zilverblauwekraal' aan die string toevoegd.

Misschien kun je beter een tweede for each lus maken en die gebruiken om het verschil tussen benodigd aantal en voorraad te checken. Alleen dan kun je de strings netjes toevoegen aan sArtikel.
 
Bedankt The Mighty Atom

Dit is niet zo een sterke kant van mij.

ik ga hier mee stoeien.
hopelijk kom ik er uit bedankt voor je hulp.

Old Hippy
 
Beste The Mighty Atom

zover gelukt krijg alleen geen spatie tussen de artikelen.
geen idee hoe dat moet.
kan je mij op weg helpen???

Groet Old Hippy
 
Ha The Mighty Atom

Geweldig bedankt voor je hulp

het werkt nu zo als ik het graag wilde.

Een zeer dankbare Old Hippy
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan