MinhnHang > 13-12-16, 09:19 AM
ongke0711 > 13-12-16, 10:43 AM
MinhnHang > 13-12-16, 11:31 AM
(13-12-16, 10:43 AM)ongke0711 Đã viết: Trường hợp này của bạn không có gì khó nhưng tôi chưa thấy việc tổ chức cơ sở dữ liệu như vậy (Thường thì có chuyển đổi cột thành dòng). Bạn nên xem và tổ chức lại Table huống chi các field LuongCoban, PhuCap là nhưng field cơ bản để nhập liệu. Vậy dữ liệu LuongCB bạn lưu như thế nào?
ongke0711 > 13-12-16, 12:24 PM
'Them Fields vao Table hien tai'
Dim db As DAO.Database, rs As DAO.Recordset
Dim strFields As String
Set rs = CurrentDb.OpenRecordset("tbl1", dbOpenSnapshot)
rs.MoveFirst
strFields = ""
Do Until rs.EOF
strFields = strFields & rs!tenField & " TEXT,"
rs.MoveNext
Loop
strFields = Left(strFields, Len(strFields) - 1)
'Duong dan file .mdb cua ban'
Set db = OpenDatabase("C:\CSDL.mdb")
db.Execute "ALTER TABLE tbl2 ADD COLUMN " & strFields & ";"
db.Close
rs.Close
Set rs = Nothing
MinhnHang > 13-12-16, 02:08 PM
(13-12-16, 12:24 PM)ongke0711 Đã viết: Các mục Lương, Phụ cấp v.v.. sẽ ảnh hưởng trong công thức tính lương nên bạn cân nhắc mọi khía cạnh, tổ chức CSDL cho kỹ để thuận tiện cho việc tính lương v.v... Bạn tổ chức các khoản phụ cấp thành dòng cũng được sau đó bạn dùng Crosstab query để chuyển row thành cột cũng được rồi.
Nếu bạn muốn chuyển dòng thành cột thì dùng đoạn code sau:
Mã PHP:'Them Fields vao Table hien tai'
Dim db As DAO.Database, rs As DAO.Recordset
Dim strFields As String
Set rs = CurrentDb.OpenRecordset("tbl1", dbOpenSnapshot)
rs.MoveFirst
strFields = ""
Do Until rs.EOF
strFields = strFields & rs!tenField & " TEXT,"
rs.MoveNext
Loop
strFields = Left(strFields, Len(strFields) - 1)
'Duong dan file .mdb cua ban'
Set db = OpenDatabase("C:\CSDL.mdb")
db.Execute "ALTER TABLE tbl2 ADD COLUMN " & strFields & ";"
db.Close
rs.Close
Set rs = Nothing
ongke0711 > 13-12-16, 03:05 PM
Dim db As DAO.Database
Dim tbl As DAO.TableDef
Dim fld As DAO.Field
Dim prop As DAO.Property
'DoCmd.RunSQL "ALTER TABLE Table1New ALTER COLUMN LuongCoBan Single" --> câu lênh này dùng để đổi Data Type của Field'
Set db = CurrentDb()
Set tbl = db.TableDefs("Table1New")
Set fld = tbl.Fields("LuongCoBan")
Set prop = fld.CreateProperty("Format", dbText, "Standard")
fld.Properties.Append prop
Set prop = fld.CreateProperty("DecimalPlaces", dbByte, 2)
fld.Properties.Append prop