PDA

View Full Version : ایجاد شماره سریال برای فیش بانکی



majid_quds
شنبه 01 اسفند 1388, 23:27 عصر
سلام دوستان
همه شما فیش بانک دیدین
یک شماره سریال داره
من یک فرم دارم که این فیش رو طراحی کردم
و از فرم پرینت می گیرم
ولی نمی تونم شماره سزیالو درست کنم که هر بار فرم رو باز کردم یک شماره به سریالم اضافه کنه
منتظرم
خیلی واجبه
مرسی

namaz17
یک شنبه 02 اسفند 1388, 08:17 صبح
میتونید اخرین شماره رو توی یه فایل یا یک فیلد مشخص از یک جدول مشخص ذخیره کنید و در load فرم خودتون اون رو بخونید و یه شماره به اون اضافه کنید

HjSoft
یک شنبه 02 اسفند 1388, 18:15 عصر
به نظر من يك عدد رندوم 4 - 5 رقمي بسازي راحت تري. خيلي هم آسونه يك حلقه بذار و اگه قبلا در بانك بود . يكي ديگه بساز . اينجوري امنيتش بيشتره !:چشمک:

majid_quds
یک شنبه 02 اسفند 1388, 20:50 عصر
آخه شماره فیش تکراری نمی تونه باشه
بعدم باید پشت سر هم باشه و نباید نکراری باشه
بعدم باطل کردن هم باعث مشکل می شه

vbhamed
دوشنبه 03 اسفند 1388, 09:18 صبح
سلام

با كنترل ADO كار مي كنيد يا ديتا (DAO) ؟

sajjad_india
دوشنبه 03 اسفند 1388, 10:12 صبح
به نظر من شماره رو هر دفعه تو یه فایل ذخیره کن بعدش هر بار بعد از لود شدن فورم اون رو لود کنه و به شماره یک عدد اضافه کنه و بعد از اتمام کار دوباره اون شماره رو دخیره کنه و هر دفعه بعد از اجرا به شماره آخری یک شماره اظافه کنه

البته نظر من بود

تظر اساتید هم مهمه

alirezabahrami
دوشنبه 03 اسفند 1388, 11:11 صبح
به نظر من شماره رو هر دفعه تو یه فایل ذخیره کن بعدش هر بار بعد از لود شدن فورم اون رو لود کنه و به شماره یک عدد اضافه کنه و بعد از اتمام کار دوباره اون شماره رو دخیره کنه و هر دفعه بعد از اجرا به شماره آخری یک شماره اظافه کنه

البته نظر من بود

تظر اساتید هم مهمه
سلام
پياده كردن پيشنهاد آقاي sajjad_india شما را در رسيدن به خواسته تان كمك مي كند .
شما براي اينكار از ذخيره كردن به روش SaveSetting و در زمان لود شدن فرم از GetSetting استفاده كنيد به اين صورت :
كه شما يك تكست باكس ( مثلاً text1)در فرمت ايجاد كن و مقدار آن را مساوي فيلد مورد نظردر بانك اطلاعاتي قرار بده و سپس كدزير را بنويس:


SaveSetting "My Project", "Setting", "text1", text1

با اين كد معادل مقداري كه در فيلد مورد نظرت وارد ميشود در text1 ذخيره ميشود . بعد در رخداد لود فرم بعد از نوشتن كد مربوط به ثبت ركورد جديد كد زير را بنويس :


Text1 = GetSetting("My Project", "Setting", "Text1

و سپس مقدار فيلد را مساوي text1+1 كن
موفق باشيد

majid_quds
سه شنبه 04 اسفند 1388, 23:12 عصر
با باز شدن فرم نمی خوان سریال ایجاد بشه، می خوام هر رکورد یک سریال داشته باشه

vbhamed
چهارشنبه 05 اسفند 1388, 00:17 صبح
سلام

با كنترل ADO كار مي كنيد يا ديتا (DAO) ؟

سلام
جواب ندادين ؟

majid_quds
جمعه 07 اسفند 1388, 00:36 صبح
ado برادر
راهنمایی کنید

m_test
جمعه 07 اسفند 1388, 18:24 عصر
کد زیر رو در رویداد Load فرم قرار بده
TableName :نام جدول
ConnectionName :اتصال به DataBase
Number To Start :اولین شماره فیش
FildeName :نام ستون مربوط به فیش در DataBase


If rs.State = 1 Then rs.Close
rs.Open "select * from TableName", ConnectionName
If rs.RecordCount = 0 Then
Text1.Text = "Number To Start"
Else
rs.MoveLast
Text1.Text = Val(rs.Fields("FildeName")) + 1
End If


سورس کد (http://4linecode.mihanblog.com)

vbhamed
جمعه 07 اسفند 1388, 18:32 عصر
سلام

فرض كنيد بانك test.mdb در مسير جاري برنامه قرار داره و فيلد Serial در جدول Table1
يك كنترل ADO روي فرم بزاريد و كد زير رو بنويسيد



With Adodc1
.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\test.mdb;Persist Security Info=False"
.RecordSource = "Select Max(Val(Serial & '')) As MaxSerial From Table1"
.Refresh
MsgBox Adodc1.Recordset!MaxSerial + 1
End With


در پنجره آخرين كد آزاد بر مي گرده