Tonight when I surfing with net, I got something interesting. I read an article from http://www.blogger.com/www.webtransitions.com about making a good website.
To make a good website, we not only focus on our website design, but we must focus on our content too. These are several basics we must know. I cropped from http://www.blogger.com/www.webtransitions.com, are:
Alignment: Alignment is the process of insuring that all processes in your business (including your web site) are aligned with your business goals. Simply put, you must make sure that each section of your web site works toward meeting at least one of your business goals. This is the basis for every section of your site and everything drives from it. Without alignment, it’s impossible to have an effective web site. Even if it works great, it’s not going to be much help to your business.
Clear Purpose: Once you have alignment, each section of the web site must have a purpose that is clearly understood by the site visitor. Purpose is the foundation of each site section. Purpose defines the look and feel (graphic design) and the content of the section. Having a clear purpose helps you create this content and it helps the site visitor understand what your site is about. Make sure your web site clearly defines its purpose. Don’t let your customers try to figure it out for themselves. They will probably get it wrong.
Create Action: Every web designer will agree that navigation is one of the most important aspects of good web design. However, most designers view navigation as only the links and buttons that allow people to find information they are looking for. The true importance of navigation is insuring that the site visitor knows what is expected… what action is required. This is NOT the traditional “direct marketing” call to action. Rather, it is insuring that the “purpose” of the site section is clear and that the correct action (the action you want them to take) is clearly defined. In other words, if you want the customer to contact you, make it obvious and simple. The vast majority of site visitors appreciate knowing what is expected. They enjoy having a path to follow. Even those who consider themselves free thinkers and prefer finding their own way appreciate it when the information they are trying to locate is clearly defined. You cannot increase the effectiveness of your web site if the visitor does nothing.
Relationship Focused Content: A relationship is required for any transaction to occur. In the physical world this relationship is taken for granted. Someone walks into your business, talks to a sales person, experiences the environment and makes a purchase. In the virtual world there is no person to help create a relationship. In fact, the virtual world is the home of non-relationship where a user can wander anonymously around your site, purposefully avoiding the creation of any relationship. This makes it absolutely necessary to focus your content on creating and enhancing a relationship… a connection between the site and the user.
Relationships are based on two criteria… trust and emotional context. A person must trust your business and they must feel good about doing business with you (positive emotional context). While their perceived level of need for your products/services has an effect on the emotional context, your content must work to build on that need by providing positive emotional support for that need. Providing them with the benefits of your products/services is only one of many ways to build on that need.
Measurement: Without measurement you cannot methodically improve your site. Without measurement you cannot know whether any change to your site improved or hurt the effectiveness of your site. How do you know you’re getting better if you don’t keep score? Effective measurement tells you if your web site is helping you meet your business goals.
For me, building a good website is how to attract your reader comfort on your site, and make your website success must through a good process too. Without good process, maintain, and relationship with your reader, impossible your site can survive on the net.
Enjoy it...
Wednesday, February 27, 2008
5 Tips Basic of Good Website
Tuesday, February 26, 2008
Simple Library Transaction Idea
Last few days ago, I was interested by a topic on mailing list group. This is about how to monitoring books circulations on library?
As we know, library is a place we can study with reading at the place, or we can borrow books we like to take home.
In here we need technology to control the circulation of books, in and out, new arriving, broken books, and etc.
Today I don’t want share a code here. What I want is only share idea about circulation books on library?
Here the ideas:
On simple library transactions are in and out books. Then we need to record every transaction which related with it.
Ok. Now we know about the flow of simple library.
Next, we need a design of database structure:
In here we need 3 tables, which is bookmaster, bookborrow, bookreturn.
Fields on bookmaster are: bookID, bookName, bookQTY, bookstatus.
Fields on bookborrow are: borrowers, bookID, bookQTY, dateofborrow.
Fields on bookreturn are: borrowers, bookID, bookQTY, dateofreturn.
The flows of code are:
1. bookstatus is “Available”
2. If somebody borrows books, then record it at bookborrow table.
3. Reduce bookQTY with borrowed book qty.
4. If bookQTY = 0, then set bookstatus into “Not Available”
5. If somebody returns the book, then record it at bookreturn table.
6. Sum bookQTY with returned book QTY.
7. if bookQTY <> 0 , then set bookstatus into “Available”
That is a little from me. If somebody wants to add another idea, you can comment at comment section.
Chao…..
Thursday, February 21, 2008
SQL Query: Backup Database by Code
Backup is something very important because we can prevent disaster of losing data. In SQL Server, we can use backup wizards to backup our database, and even more we can schedule the SQL Server to backup automatic.
But, using wizards need IT or database administrator to running this daily routine. Now, how we can backup database without using wizards of SQL Server? It’s simple, because SQL Server provides function to their user to backup database with code.
There are some steps to backup database by code:
1. We must drops backup device or logical device,
2. Then create the new backup device,
3. Backup using code.
Here the codes show us how to backup by code:Private Sub Backup_Click()
Dim con As New ADODB.Connection
If con.State = 1 Then con.Close
Set con = Nothing
con.Open "Driver={SQL SERVER};Server=fad-notebook;database=master;"
con.Execute "USE master"
con.Execute "EXEC sp_dropdevice master_1"
con.Execute "EXEC sp_addumpdevice 'disk', 'master_1'," & _
"'C:\Documents and Settings\layong.lim\My Documents\backup.dat'"
con.Execute "BACKUP DATABASE master TO master_1"
MsgBox "Success to backup"
End Sub
Explanations:
-- Create a connection to SQL Server --
Dim con As New ADODB.Connection
If con.State = 1 Then con.Close
Set con = Nothing
con.Open "Driver={SQL SERVER};Server=fad-notebook;database=master;"
-- Choose database to be backup --
con.Execute "USE master"
-- Deleting backup device or logical device --
con.Execute "EXEC sp_dropdevice master_1"
-- Creating new backup device or logical device --
con.Execute "EXEC sp_addumpdevice 'disk', 'master_1'," & _
"'C:\Documents and Settings\layong.lim\My Documents\backup.dat'"
-- Backup database into backup device --
con.Execute "BACKUP DATABASE master TO master_1"
Oks. That’s all folks. Enjoy it...
Wednesday, February 20, 2008
Search Engine Optimization – Think BIG
Website cannot be live without Search Engine Optimization. Why? Because with SEO, we can attracts more visitors to come visit our website. You don’t know where to find the SEO is? When you think SEO, Think BIG (www.brandidentityguru.com).
With www.brandidentityguru.com, you can get a comprehensive analysis to achieve your goals from your website. But, it’s that only you can get from www.brandidentityguru.com? No. They also give an assessment about your competitor’s position, so you can prepare the next step to make your website more than it.
www.brandidentityguru.com prepare your needs on SEO things, likes: keyword and popularity breakdown, copyright, meta and body tag optimization, submissions to search engines, report about your website review and analysis performance, and good services on maintaining and monitoring to your problems.
Do you still confuse? Don’t be; choose www.brandidentityguru.com as your SEO partner, but why?
1. The benefits (keyword and popularity breakdown, copyright, Meta and body tag optimization, and etc.)
2. They always provide data with high quality of research.
3. They are experts on their fields.
4. And last, www.brandidentityguru.com guarantee 100% to increase your web traffic significantly.
So, don’t waste your opportunity now. Contact them at:
Brand Identity Guru Inc.
304 Newbury St. Suite 555
Boston, MA 02115
Tel. 508.238.4347 Fax 508.238.5085
Or
Visit them at: www.brandidentityguru.com
Tuesday, February 19, 2008
Automatic Number compare with month and year
Do you ever see the autonumber type in microsoft access. this field will increase by itself when we insert the new record in it. but, the increase of number is sequential, we cannot change it into our conditions.
for example, we want the increase of number based on year or month or day or person, and so on. we must create some code to supply what we want.
ok. I will try create some code that will be increase the number based on month and year.
the idea is:
1. if the max month and year is equal with the datenow, then increase one number.
2. if the max month < datenow and max year = datenow, then return it to one.
3. if the datenow - maxyear <> 0, then return it to one.
here code:
Public Sub automatic_number(ByVal ID As String, ByVal dates As Variant)
Dim IDNumber, IDMon, IDYr As String
Dim DDay, DMon, DYr
IDNumber = Right(ID, 4)
IDMon = Mid(ID, 5, 2)
IDYr = Mid(ID, 8, 2)
DDay = Day(dates)
DMon = Month(dates)
DYr = Year(dates)
If (CLng(IDMon) = CLng(DMon)) And (CLng(IDYr) = CLng(Right(DYr, 2))) Then
IDNumber = String(Len(IDNumber) - Len(CStr(CLng(IDNumber))), "0") + CStr(CLng(IDNumber) + 1)
ElseIf (CLng(IDMon) < CLng(DMon)) And (CLng(IDYr) = CLng(Right(DYr, 2))) Then
IDNumber = "0001"
ElseIf (CLng(Right(DYr, 2)) - CLng(IDYr) <> 0) Then
IDNumber = "0001"
Else
Debug.Print "Wrong Comparison"
Exit Sub
End If
NewID = "ABC/" + String(2 - Len(CStr(CLng(DMon))), "0") + CStr(CLng(DMon))
NewID = NewID + "/" + Right(CStr(DYr), 2) + "/" + IDNumber
Debug.Print NewID
End Sub
you can test it with these condition:
Private Sub Form_Load()
Dim MaxID1, MaxID2, MaxID3, MaxID4 As String
Dim Date1, Date2, Date3, Date4
MaxID1 = "ABC/02/08/0003"
MaxID2 = "ABC/03/08/1234"
MaxID3 = "ABC/04/08/0897"
MaxID4 = "ABC/12/08/0778"
Date1 = DateSerial(2008, 2, 4)
Date2 = DateSerial(2008, 3, 15)
Date3 = DateSerial(2008, 5, 1)
Date4 = DateSerial(2009, 1, 1)
automatic_number MaxID1, Date1 --> ABC/02/08/0004
automatic_number MaxID2, Date2 --> ABC/03/08/1235
automatic_number MaxID3, Date3 --> ABC/05/08/0001
automatic_number MaxID4, Date4 --> ABC/01/09/0001
automatic_number MaxID3, Date1 --> Wrong Comparison
automatic_number MaxID2, Date3 --> ABC/05/08/0001
End Sub
Monday, February 18, 2008
Presence Report with Sql Query using Left Join Function
In every company, school, and etc, presence is very vital. becuase with it, we can count salary or value to one person.
now, how we can create a presence report with sql query?
I create some simple query example based on presence on company.
In database, we have tables like: Employee, Employee_Absence. here, the idea is joining 2 table based on NIK (employee ID).
The condition we gave in here is based on year and month. we can use inner join statement on this query, because inner join used if the 2 table have a same ID.
in this situation, we use left join, where sql will execute joining 2 table but based on the first table. example: if in Employee table we have 200 employees, and Employee_Absence we have 150 employees. the result will be shown by sql are 200 employees with 50 employees will be null.
here the simple code of the query:
select a.*, d.*,
from Employee a left join Employee_Absence d on a.nik = d.nik and day(a.date) = day(d.date) and month(a.date) = month(d.date)
and year(a.date) = year(d.tanggal)
where year(a.date) = @year and month(a.date) = @month
order by a.nik, a.tanggal
enjoy it...
Friday, February 15, 2008
Sorting with HeadClick Event on Datagrid
Sometime we has a datagrid with the large fields. example in employee table, we have fields likes: NIK, name, address, town, birthday, joint date, marital status, and so on.
usually we just sorting on NIK, but sometime we need sorting the table based on name or joint date or anything on that table.
how we can make the datagrid flexible on sorting? its simple. we can use event "HeadClick" on datagrid.
the idea is when we click the header of datagrid, the data on datagrid will be sort by that header name.
here the simple code I make to show how to use that HeadClick Event:
Private Sub DataGrid1_DblClick()
On Error GoTo handle
With rsLoadData
Text_nik = Trim(.Fields(0))
Text_nmKary = Trim(.Fields(1))
Text_Alamat = Trim(.Fields(2))
text_tgllahir.Value = .Fields(3)
Text_kdStatus = Trim(.Fields(4))
Text_kdMarital = Trim(.Fields(5))
End With
SSTab1.Tab = 0
Exit Sub
handle:
MsgBox Err.Description
End Sub
Private Sub DataGrid1_HeadClick(ByVal ColIndex As Integer)
On Error GoTo handle
rsLoadData.Sort = "[" & DataGrid1.Columns(ColIndex).Caption & "] ASC"
Exit Sub
handle:
MsgBox Err.Description
End Sub
Wednesday, February 13, 2008
Flexible Decimal Places
The code below shown us how to make flexible decimal places. using cdbl, instr, len, and format function, we can make the flexible decimal places.
the idea is searching the position of "." and get the count of the rest number. after we get the number, we replace "0" with String Function as much as the count of the rest number.
here the code:
Private Sub Command1_Click()
Dim posisi As Integer
Dim a As Double
Dim jmldec As Integer
Dim jmlnol As String
a = CDbl(Text1.Text)
posisi = InStr(1, CStr(a), ".")
jmldec = Len(CStr(a)) - posisi
If posisi = 0 Then
jmlnol = "#"
Else
jmlnol = "#." + String(jmldec, "0")
End If
MsgBox Format(a, jmlnol)
End Sub
enjoy it...
Datediff simple code
datediff is a function to get the difference of two date. the result will be shown in integer type.
here the simple code that shown how to use the datediff function.
Private Sub Form_Load()
Dim a As Variant
Dim b As Variant
a = Format("3 / 14 / 2008", "dd-mm-yyyy")
b = Format("1 / 4 / 2008", "dd-mm-yyyy")
MsgBox DateDiff("y", a, b)
End Sub
enjoy it...


