Jeigu yra būdas padaryti geriau, atrask jį. T. A. Edison

Sveiki, Svečias
Prisijungimo vardas: Slaptažodis: Prisiminti mane
  • Puslapis:
  • 1

TEMA: teisngai uzpildyti etiketes

teisngai uzpildyti etiketes prieš 5 m. 6 mėn. #1

  • intexx28
  • intexx28 avataras
  • Neprisijungęs
  • Naujokas
  • Žinutės: 11
  • Reputacija: 0
Sveiki bandau kurti database darbe bet va ir vel uzstrigau, gal kas pagelbetu

man reikia užpildyti " Skip " userform etiketes su teisingu atsakymu.
Kai aš įveidu order number i textbox ir paspaudziu " Lookup" mygtuką labelai bus uzpildyti (pradedant nuo " lbl1 iki lbl32 " ).
Ar butu imanoma padaryt taip kad kai irasius bent koki skaiciu i textbox(Qty Received), tada textbox aktyvuotu "skip" etikete esancia toje pacioje eileje, o ta "skip" etikete paskaiciuoja kiek kartu "order number" esantis irgi toje pacioje eileje buvo bookintas:

 Jei buvo bookintas mažiau nei 10 kartų pasakyti " NO" skip etiketėje
 Jei buvo bookintas 10-14 kartų pasakyti "YES" skip etiketėje
 Jei buvo bookintas 15 kartų pasakyti " NO" skip etiketėje
 Jei buvo bookintas 16-19 kartų pasakyti "YES" skip etiketėje
 Jei buvo bookintas 20 kartų pasakyti " NO" skip etiketėje
 Jei buvo bookintas 21-24 kartus pasakyti "YES" skip etiketėje
 Jei buvo bookintas 25 kartus

pasakyti " NO" skip etiketėje .... ir taip toliau

Bookingo duomenys yra "Update" lange

Taio va dar prisegiau faila kad butu aiskiau, jei kas turetu kokiu minciu ar siaip patarimu nes db net neisivaizduoju nuo ko man pradet.
Jei imanoma noreciau kad butu be pagalbiniu stulpeliu nes kompai darbe ziauriai leti ir kiekviena formule ziauriai stabdo.
Dekui iš anksto

Šis priedas svečiams yra nematomas. Norėdami pamatyti turite prisijungti arba užsiregistruoti.
Administratorius uždraudė viešą pranešimų rašymą.

teisngai uzpildyti etiketes prieš 5 m. 6 mėn. #2

  • ZygD
  • ZygD avataras
  • Neprisijungęs
  • Auksinis narys
  • Žinutės: 197
  • Gauta padėka 60
  • Reputacija: 20
Tai pasirodo yra itin paprasta. Tiesiog įsijungi savo formą per VBA ir du kartus paspaudi ant kiekvieno iš textbox. Pradėkim nuo Textbox1. automatiškai susikuria kodo "rėmai" Change eventui. taigi ir rašai kodą tuose rėmuose. Galiu padėti su textbox1, pakopink apačioje esantį kodą į jo vidų. Turėtų veikti, kol nesugalvosi į laukelius teksto rašyti.
Private Sub TextBox1_Change()
    ' jei textbox tuscias, tai label irgi bus tuscias
    If Me.TextBox1.Value = vbNullString Then
        Me.skip1.Caption = vbNullString
    ' jei textbox <10 , tai label sako "NO"
    ElseIf Me.TextBox1.Value < 10 Then
        Me.skip1.Caption = "NO"
    ' jei textbox =10 , tai label sako "YES"
    ElseIf Me.TextBox1.Value = 10 Then
        Me.skip1.Caption = "YES"
    ' jei textbox dalinasi is 5 , tai label sako "YES"
    ElseIf (Me.TextBox1.Value Mod 5) = 0 Then
        Me.skip1.Caption = "YES"
    ' visais kitais atvejais "NO"
    Else
        Me.skip1.Caption = "NO"
    End If
End Sub
Komentarus gali išsitrinti, jei aišku viskas. Tokiu principu kodus surašyk į kiekvieno reikalingo textbox change "rėmus".
Administratorius uždraudė viešą pranešimų rašymą.

teisngai uzpildyti etiketes prieš 5 m. 6 mėn. #3

  • ZygD
  • ZygD avataras
  • Neprisijungęs
  • Auksinis narys
  • Žinutės: 197
  • Gauta padėka 60
  • Reputacija: 20
Dar mažas patarimas dėl greitaveikos. Gal skirtumo tau ir nebus, bet For Each ir For loopsuise po Next nebereikia rašyti kintamojo pavadinimo. Skaičiau užsienio forumuose, kad tai sulėtina skaičiavimus, nors pats to fiziškai nepajaučiau niekad, bet logiška, kad nereikia kompiuterio apkrauti papildomais dalykais, kuriuos jis turės perskaityti ir interpretuoti. Kompas ir taip supranta, kuris loop baigiasi, o savo aiškumui gali kintamojo pavadinimą tiesiog įdėti į komentarą. Pvz. vietoj:
For lngCounter = 1 To 32
    Me.Controls("lbl" & lngCounter).Caption = ""
Next lngCounter
būtų taip:
For lngCounter = 1 To 32
    Me.Controls("lbl" & lngCounter).Caption = ""
Next ' lngCounter
Ir lygiai tokia pat kabutė po visų kitų Next, prieš kintamojo pavadinimą.
Administratorius uždraudė viešą pranešimų rašymą.
Jums padėkojo šie nariai: intexx28

teisngai uzpildyti etiketes prieš 5 m. 6 mėn. #4

  • intexx28
  • intexx28 avataras
  • Neprisijungęs
  • Naujokas
  • Žinutės: 11
  • Reputacija: 0
Dekui Zyg D labai praverte ziauriai gerai paaiskinai
Administratorius uždraudė viešą pranešimų rašymą.
  • Puslapis:
  • 1
Moderatoriai: bankeris
Puslapio sukūrimo laikas: 0.258 sekundžių