Search  
Friday, May 25, 2012 ..:: Forum ::.. Register  Login
 Forum Minimize
Pentru a putea posta mesaje trebuie să vă înregistraţi.
Notă: Mesajele cu conţinut jignitor sau ilegal (inclusiv cereri de soft piratat) nu sunt acceptate şi vor fi şterse imediat .

Pentru a primi raspunsuri rapide si corecte, scrieti in mesaj ce intentionati sa faceti, ce mesaj de eroare primiti, in ce context si in urma caror actiuni. De asemenea, mentionati versiunea de FoxPro in care lucrati!
Dacă nu specificați versiunea, se consideră VFP 9.0 SP2.

SearchForum Home
  Visual FoxPro  Cod, sintaxa si comenzi  Combobox values...
 Combobox values into date fields.
 
 12/17/2011 4:00:29 PM
User is offlineSaiSaijo
21 posts


Combobox values into date fields.
 (N/A)
Salutari !


    Vin cu o noua intrebare incepator.. Am 3 combobox-uri pentru a introduce o data intr-un table cu un field de tip date. Un combobox este pentru zi, al doilea pentru luna si al 3-lea pentru an. Ce trebuie sa scriu in butonul care-mi face inserarea de date, daca eu iau .values de la 3 obiecte diferite si le pun in acelasi timp intr-un singur field de tip date() ?

Sper ca m-am facut inteles, si multumesc in avans pentru raspunsuri.

Cristi.
 12/17/2011 4:48:40 PM
User is offlineDaniel Buduru
2335 posts
1st




Re: Combobox values into date fields.
 (N/A) Modified By Daniel Buduru  on 12/17/2011 5:50:51 PM)
Poti obtine o variabila de tip date utilizand functia Date(an, luna, zi)

ldData=Date(cast(thisform.cboAn.Value as int), cast(thisform.cboLuna.Value as int), cast(thisform.cboZi.value as int)

Ce scrii in buton.click depinde de cum faci inserarea/actualizarea, fie un Insert sql, Update sql sau Replace.

O observatie: daca ai combo in ordinea mentionata - zi, luna, an - nu vei putea ca in combo pentru zi sa ai numarul de zile din luna respectiva, intrucat atunci cand selectezi valoarea din combo, luna si anul nu sunt inca precizate.

Daniel Buduru
 12/17/2011 7:30:19 PM
User is offlineSaiSaijo
21 posts


Re: Combobox values into date fields.
 (N/A)
Multumesc pentru raspuns.

Incerc sa fac inserarea prin replace si-mi iese ceva de genul...

SELECT infou
replace dob WITH DATE(cast(thisform.cbirthday.Value as int), cast(thisform.cbirthmonth.Value as int), cast(thisform.cbirthyear.value as int))

Cu ce ar trebui sa modific (int) ca sa pot sa fac inserarea corect in fieldul meu care este deja definit ca Date() ?

Scuze pentru intrebarile puierile, sunt incepator :)
 12/17/2011 8:03:41 PM
User is offlineDaniel Buduru
2335 posts
1st




Re: Combobox values into date fields.
 (N/A)
O idee ar fi sa te uiti in help la sintaxa comenzilor.
Functia Date( AN, LUNA, ZI)  primeste parametrii in ordinea asta, asa cum am precizat si in primul post.
Pune ordinea corecta in comanda replace si o sa mearga.

Daniel Buduru
 12/17/2011 8:43:26 PM
User is offlinemmarius28
139 posts
5th


Re: Combobox values into date fields.
 (N/A)
lnAn = thisform.cbirthyear.value
lnLuna = thisform.cbirthmonth.value
lnZi = thisform.cbirthday.value
ldData = DATE(m.lnAn, m.lnLuna, m.lnZi)
replace dob with m.ldData

Daca thisform.cbirthday.value este de tip caracter, atunci poti sa aplici:
lnZi = val(thisform.cbirthday.value)
 12/18/2011 12:05:11 AM
User is offlineSaiSaijo
21 posts


Re: Combobox values into date fields.
 (N/A)
Multumesc foarte mult pt raspunsuri si rabdare !

am scris codul lui mmarius28
dar primesc eroare: function argument value, type, or count is invalid.
Se opreste la linia asta: ldData = DATE(m.lnAn, m.lnLuna, m.lnZi)
fieldurile sunt de tip character dar am folosit si val(thisform.value)

ca sa definesc anii, am introdus la initul formului.

FOR i=1920 TO YEAR(DATE())
    thisform.Cbirthyear.AddItem(STR(i))
endfor

In debugger observ ca-mi gaseste valorile, de ex: 1922.00, "Martie" si 2.00

 12/18/2011 2:18:37 AM
User is offlinemmarius28
139 posts
5th


Re: Combobox values into date fields.
 (N/A) Modified By mmarius28  on 12/18/2011 3:18:59 AM)
Problema este la "Martie".
val("Martie") = 0
Iti trebuie o conversie din "Martie" in "3".
 12/18/2011 8:12:09 AM
User is offlineGrigore Dolghin
3590 posts
www.class-software.eu
1st






Re: Combobox values into date fields.
 (N/A)
De ce nu folosesti tu un textbox caruia ii setezi in design mode proprietatea .value la {}? O sa se formateze automat pentru data calendaristica si n-o sa te lase sa introduci prostii. E adevarat ca trebuie sa scrii data cu mana, nu selectand-o din comboboxuri.

Pentru eroarea ta specifica - problema e ca cmbLuna.Value e un text, nu un numar, si asta nu se pupa cu DATE(). Ai putea sa folosest cmbLuna.ListIndex in loc de cmbLuna.Value (listindex returneaza pozitia item-ului selectat - pentru Martie o sa intoarca 3), dar asta tot nu-ti rezolva problema, fiindca userul o sa selecteze 31.02.2011 si o sa crape din nou. Chiar vrei sa scrii si codul care valideaza o data calendaristica? Sfatul meu e sa pui un textbox acolo si cu asta basta.

Grigore Dolghin
Visual FoxPro MVP 2006 - 2010
Class Software
My blog
 1/11/2012 1:12:58 PM
User is offlineSaiSaijo
21 posts


Re: Combobox values into date fields.
 (N/A)
Multumesc pentru raspuns, am rezolvat problema :)
  Visual FoxPro  Cod, sintaxa si comenzi  Combobox values...

Search  Forum Home         

 Google Ads Minimize

    

Copyright 2002-2010 Profox   Terms Of Use  Privacy Statement