الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

تنسيق حقل من نوع رقم

بدأه منبع الاحزان في 7 سبتمبر 2014 · 3 رد · 333 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم 
عندي حقل منو نوع رقم تم تنسيق البيانات فيه الى نوع قياسي مع اضافة المنازل العشرية الى (3) 
عند اضافة منازل عشرية يقوم بالتقريب الى الى اقرب مرتبة 
مثل الرقم ( 5,666,600 ) يقوم بتحويله الى ( 5,667,000 ) 
كيف لي ان احل هذه المشكلة ؟؟؟

و سؤالي الثاني 

هل لي ان اضيف مربع نص غير منظم الى المنوذج ليكون عبارة عن ترقيم تسلسلي 

مثل الذي نظيفه الى التقارير ؟؟

#2

وعليكم السلام :)

 

آسف ، لم افهم طلبك الاول :(

إما انك ترفق قاعدة بياناتك علشان نشوفها ، او ترفق لنا صور منها في مكان الخطأ.

 

اما ثانيا ، فيمكننا عمل هذا عن طريق الاستعلام ، ونجعل الاستعلام مصدر للنموذج :)

 

1. عملت جدول باسماء غير منظمه ،

post-273849-0-14051700-1410153015.jpg

 

 

2. وهنا الاستعلام الذي يعمل لنا التسلسل ولاحظ ان الفرز تصاعدي للاسماء (الوحدة النمطية المسؤولة عن العمل سأدرجها في اسفل هذه المشاركة) ،

post-273849-0-32454200-1410153043_thumb.

 

 

3. نتيجة الاستعلام ،

post-273849-0-46448000-1410153071.jpg

 

 

4. نتيجة النموذج ،

post-273849-0-14242500-1410153100.jpg

 

 

وهذه هي الوحدة النمطية:

Option Compare Database
Option Explicit
       
Public Function RowCounter( _
  ByVal strKey As String, _
  ByVal booReset As Boolean, _
  Optional ByVal strGroupKey As String) _
  As Long
  
' Builds consecutive RowIDs in select, append or create query
' with the possibility of automatic reset.
' Optionally a grouping key can be passed to reset the row count
' for every group key.
'
' Usage (typical select query):
'   SELECT RowCounter(CStr([ID]),False) AS RowID, *
'   FROM tblSomeTable
'   WHERE (RowCounter(CStr([ID]),False) <> RowCounter("",True));
'
' Usage (with group key):
'   SELECT RowCounter(CStr([ID]),False,CStr[GroupID])) AS RowID, *
'   FROM tblSomeTable
'   WHERE (RowCounter(CStr([ID]),False) <> RowCounter("",True));
'
' The Where statement resets the counter when the query is run
' and is needed for browsing a select query.
'
' Usage (typical append query, manual reset):
' 1. Reset counter manually:
'   Call RowCounter(vbNullString, False)
' 2. Run query:
'   INSERT INTO tblTemp ( RowID )
'   SELECT RowCounter(CStr([ID]),False) AS RowID, *
'   FROM tblSomeTable;
'
' Usage (typical append query, automatic reset):
'   INSERT INTO tblTemp ( RowID )
'   SELECT RowCounter(CStr([ID]),False) AS RowID, *
'   FROM tblSomeTable
'   WHERE (RowCounter("",True)=0);
'
' 2002-04-13. Cactus Data ApS. CPH
' 2002-09-09. Str() sometimes fails. Replaced with CStr().
' 2005-10-21. Str(col.Count + 1) reduced to col.Count + 1.
' 2008-02-27. Optional group parameter added.
' 2010-08-04. Corrected that group key missed first row in group.

  Static col      As New Collection
  Static strGroup As String
  
  On Error GoTo Err_RowCounter
  
  If booReset = True Then
    Set col = Nothing
  ElseIf strGroup <> strGroupKey Then
    Set col = Nothing
    strGroup = strGroupKey
    col.Add 1, strKey
  Else
    col.Add col.Count + 1, strKey
  End If
  
  RowCounter = col(strKey)
  
Exit_RowCounter:
  Exit Function
  
Err_RowCounter:
  Select Case Err
    Case 457
      ' Key is present.
      Resume Next
    Case Else
      ' Some other error.
      Resume Exit_RowCounter
  End Select

End Function


Public Function Reset_RowCounter()

    Call RowCounter(vbNullString, False)
End Function

Public Function Correct_Last_Sequence()

    Dim rst As DAO.Recordset
    Dim Last_Seq As Integer
    
    Set rst = CurrentDb.OpenRecordset("Select * From 1 Order By Auto_ID Desc")
    
    rst.MoveNext
    
    Last_Seq = rst!M
    
    rst.MovePrevious
    
    rst.Edit
    rst!M = Last_Seq + 1
    rst.Update
    
    rst.Close: Set rst = Nothing
    
End Function

جعفر

252.Row_Number.mdb.zip

#3

شكرا لك اخي 

jjafferr

  كفيت و وفيت 

#4

:)

مواضيع مشابهة