How to Properly Maintain Macs for a Business

How to Properly Maintain Macs for a Business

Nowadays Macs are becoming more and more popular in business environments – even outside of areas where they’ve conventionally been strong such as video and photo editing. The reason for that is simple: Macs are viewed as reliable and secure machines that will deliver strong performance levels over the long term.

While all that is certainly true, if you want your Macs to deliver on their promise then it is important that you properly maintain them. Don’t worry that isn’t as complicated as it sounds, and there are just a few easy tasks that you should perform:

Run Disk Utility

Within every Mac is a helpful tool called Disk Utility that can help you to check your hard drive for fragmentation as well as repair it. All you need to do is select your hard drive and use the ‘First Aid’ tab to check and repair it.

Check the Activity Monitor

If your Mac seems to be slower than you’re used to the first thing you should do is check the Activity Monitor to see if anything is using up its memory (i.e. RAM). In the Activity Monitor you can force any unnecessary apps to close, or just track down which apps are taking up memory and close them the normal way.

Remove unneeded login items

Did you know that your Mac automatically launches some apps whenever it is booted, and these apps tend to run in the background? Head over to your System Preferences then to Accounts and Login Items to see a list of what is being launched and remove anything you don’t need.

Update OS X regularly

Every OS X update contains numerous fixes for various bugs as well as vulnerabilities. If you are using your Mac for business purposes, it is important that you update it regularly so that you aren’t exposed.

Reboot the Mac periodically

Although Macs can run for weeks on end without rebooting – that isn’t necessarily good for it. If you’re one of the many people who rarely ever reboot their Mac, try to get in the habit of doing so at least once a week – if not more frequently.

Free up space on your hard drive

It is never a good idea to let your Mac’s hard drive get too full – as that will impact its performance. Try to clean out any unnecessary junk files from your Mac regularly, and also uninstall apps that aren’t being used.

As you can see there’s nothing too hard about any of that – though you may need a little bit of help from Mac cleaning software. On that front Movavi Mac Cleaner will be all that you need really as it will automatically scan and find any junk files then let you delete them in just a single click.

On top of that Movavi Mac Cleaner will let you free up even more space with its ‘Uninstaller’ by tracking down leftovers from apps and deleting them as well as removing any apps you no longer need. It also includes a ‘Shredder’ to delete confidential files, as well as its own antivirus and firewall to protect your Mac.

All in all if you want to keep your Mac in tip top condition, Movavi Mac Cleaner should help you to do that quite conveniently. Give it a try and you’ll see how easy it makes it to clean your Mac, free up space, and keep it well-maintained for your business.

security

Computers In Business: Are You Maximizing Your Potential?

There’s no denying it: we live in a digital age. From a business perspective, embracing the modern culture is essential if you want the company to thrive. After all, if you can’t beat them, join them.

In 2016, it’s almost impossible to find a venture that doesn’t utilize those computing facilities in one shape or form. However, it’s even harder to locate one that is seeing the full benefits of what those digital communications can bring.

Regardless of your industry, computer systems can become the heartbeat of your entire business. Follow the tips below to maximize the impact, and you’ll be amazed at how quickly your company reaches the next level. Let’s get started.

office security

Security

When it comes to business, safety comes first. Modern tech can be used to protect your staff, customers and assets alike. As such, it should be the very first item on your agenda. Even if some of the items won’t come into place until you’ve made other investments, possessing the right strategy now is vital.

Using wireless CCTV can boost the protection of your business premises. However, it’s equally important to think about virtual security too. Keeping data safe through the right firewalls and antivirus software is essential. Meanwhile, you’ll want to be sure that passwords aren’t easy to guess either.

Security needs to be a 24/7 job, which is why many companies benefit from outsourced IT. Protection is far from being the only advantage of using external experts. However, knowing that your business is safe from attacks is key. Similarly, avoiding potential lengthy outages will ensure that you’ll see greater productivity.

Perhaps most importantly, this will help you build trust from the clients. Without this, you’ll be destined for failure. For that reason alone, attending to this issue should be a priority for all modern companies. Do not forget it.

security

Team Assembly

Every entrepreneur should understand that teamwork makes the dream work. Employees are your most valuable asset, and if computer tech can help you gain more from them, you should grab the opportunity with both hands.

Online facilities can allow you to hire freelancers for a specific job. This can reduce staffing costs as well as equipment expenses. Meanwhile, using internet communications for posting and filling full-time vacancies can work wonders too.

To see the full benefits, you need to be sure that employees are trained in using those modern facilities too. Aside from ensuring that they perform better, it will help the entire group follow standardized practices too. After all, operating as a cohesive unit can only have a positive impact on proceedings.

Either way, a stronger team will drive your business to far greater results. Embracing computer tech to unlock those possibilities is a must. It will be great news for your employees, your business, and your personal endeavors. What more incentive could you ever need?

office-security-productivity

Productivity

Using computers to build a great team will provide a solid foundation. However, it’s equally important that those facilities actively promote greater productivity. It’s not a difficult equation; the more you put in, the more you’ll get out.

Advanced computer tech can transform offices into well-oiled machines. Using the latest and greatest software can speed up various admin processes. Whether it’s using Excel spreadsheets to manage data or accounting packages doesn’t matter. Time is money, and making the most of those facilities can only be a step in the right direction.

Organization is a key element of any business operation. This is especially true when dealing with both online and offline sales. Managing your inventory with automated computer systems will make life a whole lot easier. Better still, it will prevent the embarrassment of selling items that don’t exist. Refunding a customer because an item is sold out could potentially sever all ties.

Greater productivity will lead to increased profitability. In turn, this will inevitably accelerate your growth too. But as well as having the right software, just remember to keep your computers in great health. There’s nothing more frustrating than waiting for faulty hardware to complete those processes.

Presence

Everything you do in business should essentially be geared towards increasing your customer numbers. A larger client base will bring a greater volume of sales. But before converting those sales, you need to gain interest from the customers. Given that we live in a digital age, it should come as no surprise that computer technology can be your secret weapon.

Even if the business doesn’t take online purchases, your audience almost certainly uses the internet on a daily basis. A well-designed website can become your greatest marketing tool, especially when you use a blog to keep readers coming back for more. Building familiarity with the brand can help you generate sales both online and offline. Moreover, it’s another factor that can help build trust.

Gaining the full benefits of embracing the digital world should be your goal. Therefore, you must also capitalize on opportunities gained from external platforms. Improving your visibility on Google can give the company a more professional vibe. More importantly, it will be seen by more people, which should lead to more visitors. Assuming the website and core features of the business are fine, this should help generate far greater revenue.

And if you can get people to leave positive reviews of your business, either on your site or others, do it. Those words could have a huge influence on the decisions of others. If it converts interest into sales, this could be the most important element of all.

Communication

First and foremost, computer technologies were built as a communication tool for business. If you aren’t using your facilities to perfect the links throughout your operation, you’re making a mistake. Changing this should be one of the key items on your to-do list.

video conferencing

By now, you should be aware that cloud computing can help productivity. But it’s also a great way to encourage better collaboration and ensure that every member of your team is working as a collective unit. If the staff is split over several locations, video conferencing is another door that computers can open. Either way, a team that works together will always produce far greater outcomes. Better still, it should ensure that the customers receive a consistent service too.

Ultimately, keeping the customers happy should be one of the chief priorities. Interaction is a crucial concept, and using computer technology is key. Social media platforms like Twitter can be a great way to offer customer care on a 24/7 basis. Adding Live Chat facilities to your website is another fantastic solution. If it helps you provide the best service possible, you should not ignore it.

Greater communication will promote increased confidence from the client. In turn, this can boost your hopes of repeat business significantly. Giving them a better insight into the personality of your brand by using Periscope and other cool features can help build excitement. If that doesn’t boost your chances of turning a profit, nothing will.

Financial Control

It’s difficult to run a business without focusing heavily on the chase for revenue. However, all company owners need to appreciate that your expenses have a massive impact on your overall finances. Essentially, if you want to gain maximized profits, you must make the operation cost-effective.

Online price comparison sites can be a godsend. Whether it’s insuring a fleet of business vehicles or finding cheaper energy rates, those savings will make a difference. If you’re going to borrow money, learning about crowdfunding and loan alternatives is vital too.

Another top trick is to find guides and tutorials. In many cases, cutting out the middle man to complete tasks yourself can be a great way to lower those monthly overheads.

Income and savings

In many situations, it is possible to gain help from governing bodies and business schemes. Whether it’s making the office more eco-friendly or gaining relief on loans, a few hours of research could save you thousands.

Secondary Income

As a business, using computer technology to maximize your core incentives should always be the main aim. However, those facilities can also earn secondary forms of revenue. Quite frankly, you’d be a fool to overlook the benefits that it can bring.

In addition to being a fantastic marketing tool, social media can earn you money. Monetizing a YouTube channel through adverts is easy while Google Ads will generate funds through your website too. Likewise, Instagram and other social media platforms can be utilized to gain additional costs too.

Alternatively, if your company has expensive facilities that you don’t always use, they can be rented out. Whether it’s lending filming equipment, office essentials or other items doesn’t matter. There will always be a demand for those products on the internet. You could be earning money for old rope.

Ok, those additional funds aren’t going to be the difference between success and failure. Nonetheless, they can boost your cause, and it’s an opportunity that you should capitalize on. When combined with the core features above, your company won’t go far wrong.

All modern businesses should be using computer facilities to their full potential. Make the necessary upgrades immediately, and you will reap the long-term rewards.

Things To Consider When Creating A Website For Business

All modern businesses need a functional and reliable website to promote their brand, products, and services. No matter which industry you might plan to dominate, a good online presence is essential if you want to beat the competition. There are a few basic rules that everyone should aim to follow, some of which we’re going to discuss in a moment. However, you have free reign over how your site appears and which elements you include. So long as you cover the essentials, your chances of success in the business world will increase considerably.

With that in mind, now is the best time to start your research. You need to act fast with any new concept. That is the best way to ensure you capitalize on the current state of the markets.

Providing sales information created to a professional standard

Most people will read through all the terms and conditions you list before committing to a purchase. So, you must ensure all the content on your site has been created to a professional standard. That is a basic rule that even the most experienced experts like Issa Asad consider to be vital. Anyone who wants to know more about how the world’s leading entrepreneurs deal with subjects like that should take time to read more online. That is especially the case if you are involved in the telecommunications industry.

Providing a means of instant communication

Regardless of how your website looks, you must provide potential customers and clients with a means of instant communication. Email addresses are not good enough. If someone considers buying from your company, they may well have lots of questions before they commit to the purchase. If they can’t get in touch with you quickly, they are likely to look elsewhere. Also, the way you deal with complaints is paramount to success. Your customers and clients need to feel valued, which is why a live chat feature on your site is vital.

Providing secure payment options people trust

Most web design specialists are more than capable of creating a secure online store for your website. Even so, it’s important you stress how important it is for your sales to go through without any issues. It’s sometimes a good idea to offer numerous different payment options, and that is why many brands also use PayPal. While it doesn’t look as professional, some people prefer to use that service. That is because they know their money is safe if anything goes wrong. You should also add as many security features to your site as possible. There are lots of articles that list considerations you might like to read.

So long as you pay attention to all those suggestions, your website should be a big hit. As we said at the beginning of this post, the design is completely down to you. You just need to pick the right color schemes to represent the message you want to put across.

As a rule, you want to keep things as simple as possible. So, don’t make the mistake of flooding your pages with lots of useless information and graphics. You’ll get more respect if you get straight to the point.

security of web applications

Security Considerations for Web Applications

From websites to applications, website developers require to know almost everything there is about developing. There is plenty to consider when developing an existing platform or something from new. A brief may state that a new application must be user-friendly, accessible and secure.

Over recent years, there is an enormous emphasis on building a web application with security at the heart of the development. It is no wonder that this is now the case. We live in a world where security threats and access breaches are common place. It is a scarier world out there today than it was ten years ago.

There are many considerations when it comes to building web applications, especially when it comes to security. Is the site or application protected against service attacks? Is business and customer data safe and stored correctly within a database? Could an individual compromise the application and pollute the database? Could an attacker access information that is restricted?

For those that need to outsource, it may be worth stumping up for the security certification cost and relevant in-depth training. For those that want to tackle this head on, this article will cover some of the essential security components when it comes to web application development.

Cross-Site Scripting

This is where an attacker will trick a web application user into inadvertently executing code from another website. This can be done in a variety of different ways. A message, pop-up or email could be used to direct the inadvertent to execute this code.

Once bad script is loaded, the script can then be used to access or take contents from cookies. This information can then be used to send spam, install malware or even change the contents and development code of the web application.

As a developer, you should be able to use PHP’s input file extension to minimize the potential damage caused by cross-site scripting.

Cross-Site Request Forgery

This is where a visitor is tricked into carrying out an adverse action on our very own web application. This type of security attack tends to happen on websites that the visitor visits frequently, on web applications that are not properly secure.

Click jacking

This security threat has been given almost celebrity status after attacks against Facebook and Twitter. As these platforms are social, with plenty of daily interaction, the threat spread quickly throughout both applications.

The threat may come from the attacker using our web application in a frame within their own website. They do not have control over our website, but they do control the iFrame that it sits within. One way we can protect ourselves is to disable any submit button and use a JavaScript code to enable it again, once we have found that there is no threat.

As web developers we need to be conscious of all security threats, not just the ones detailed above. Security is an essential and vital part of all development work, whether you are a front-end coder or back-end developer. Protecting what is ours is paramount, more so today than at any point historically.

The Online Marketing Techniques You Can’t Function Without

If you’ve got an online store, then it goes without saying you’d like it to do as well as possible. This means that certain online marketing techniques and strategies are essential – otherwise, you wouldn’t get very far at all! Here are my favorite online marketing techniques…I doubt my business would function properly without the help of them:

Relevant Daily Content

One of the best ways to grow your audience and gain more brand exposure is to consistently post relevant, quality content. You should be posting at least once per day on Facebook, and about 6 times a day on Twitter. The timing of these posts is important too, otherwise your target audience may not get the chance to see them. Starting a blog is a good idea too, as it’ll allow you to establish yourself as an expert in your niche. Share your knowledge and you’ll go far!

Pretty Pictures

Including images in any post amplifies them by 10 and helps to put emphasis on what you’re trying to say. Photos on Facebook get 50% more likes than your usual posts and generate more of a click through rate. Include high quality, good looking pictures where you can!

Social Buttons

The best way to get more likes and follows on the various social media sites is to include social buttons where you can in your marketing communications. This way, people can follow you, like you, and share your interesting content with their followers/friends, thus improving your exposure and brand recognition. Consider placing them in your newsletter, in your email signature, and in the header/footer of your site or blog.

Question and Answer Sessions

To keep an online community alive, engagement is so important. You can quickly grow your Twitter community and increase engagement by hosting a weekly question and answer session! Allow your followers to post questions about your product, business, industry, or anything else they’re interested in. You can then answer as many questions as possible, and create a blog post with your favorites.

Running Competitions

There are loads of ways you can run competitions online, but social media is one of the best ways. You can simply ask people to share and like a certain post for a chance to win one of your products, or you could do something a little more complex, like a Pinterest ‘treasure hunt’.

Infographics

Infographics are becoming more and more popular. By spending money on a professional infographic, you can get a massive spike in traffic to your website providing you do it on something interesting and relevant! For example, a sweet shop could do an infographic on ‘The history of Sweets.’

These techniques are fresh and fairly new, making them an essential part of any online marketing strategy. This agency, who specialize in digital marketing in Perth can help you with all of the above, and more! I hope you enjoyed this post and that it’s helped you make the most of your online marketing strategy. Thanks for reading!

How To Fix Wrong Thumbnail Issue For FaceBook Comments

Recently i realized that if you have multiple images on your page and use Facebook comments or Facebook like then facebook creates wrong thumbnail in your wall. This happens because Facebook checks for first image or featured image in your page and if you have lots of images (even some thumbs) it considers them and creates thumbnail randomly unless you specifically mention which image to pic for thumbnail purposes.

I have also noticed that many sharing plugins also failing to fix the issue so i dug deeper and figure the solution out. Basically if you have multiple images on your page then it becomes vital to specifically mention which image should be used for thumbnail purposes in your header.

you should use this on your page header or anywhere in your page to and then finally use Facebook Linter tool to test if the image and other related information is getting parsed correctly or not.

This is just a simple solution to solve the Facebook wrong thumbnail issue and i am damn sure that someone will come up even simpler option in sometime. This fix will also work for most of the sites which requires share preview features.

Please leave me a comment and let me know if you face any problems.

Keywords that ruin resume

Top 50 Keywords That Can Ruin Your Resume

If you are looking for a job change and are aiming to write an eye-catching resume, this may surprise you. Some keywords or buzzwords you use in your CV could actually ruin your chances of getting that dream job. Why?

According to Karen Burns, the author of the illustrated career advice book The Amazing Adventures of Working Girl: Real-Life Career Advice You Can Actually Use, these words are simply “vague”. It makes your resume look like everyone elses.

She advises:

You want your resume to stand out. The best way to sell yourself is to show, don’t tell. Explain your accomplishments rather than spouting them off in trite ways. So check your resume for these boilerplate words and phrases. If you find them, replace them–or at the very least, elaborate upon them — with real-life, specific examples.

So when making your resume, keep the following words out of the scene.

1. Team player

2. Detailed-oriented

3. Proven track record of success

4. Experienced

5. Excellent communication skills

6. Leadership skills

7. Go-to person

8. Managed cross-functional teams

9. Exceptional organizational skills

10. Self-starter

11. Results-oriented professional

12. Bottom-line orientated

13. Works well with customers

14. Strong negotiation skills

15. Goal-oriented

16. People-person

17. Dynamic

18. Innovative

19. Proven ability

20. Top-flight

21. Motivated

22. Bottom-line focused

23. Responsible for

24. Assisted with

25. Skilled problem solver

26. Accustomed to fast-paced environments

27. Strong work ethic

28. Works well with all levels of staff

29. Met (or exceeded) expectations

30. Savvy business professional

31. Strong presentation skills

32. Looking for a challenging opportunity

33. Cutting-edge

34. Multi-tasker

35. Proactive

36. Seasoned professional

37. Perfectionist

38. Highly skilled

39. Functioned as

40. Duties included

41. Actions encompassed

42. Best-in-class

43. Strategic thinker

44. Trustworthy

45. Flexible

46. Works well under pressure

47. Quick learner

48. Partnered with others

49. Results-focused

50. Out-of-the-box thinker

Mentor Entry Level Developers In Easy 7 Steps

Every Organization needs to mentor the entry level developers to attain success in their future endeavors. So, if you are the one who is given an opportunity to teach and train your new people then following tips will be good for you.

Not every developer can become a good mentor so if you think you are not up to the task you should straight forward say NO to your employer otherwise you will end up wasting your time and alienating a promising new developer. But if you are up to the task then read the following 7 tips on how to successfully mentor the entry level developers.

1. Mentoring should be your priority

I think the key ingredient in a successful mentoring relationship is giving the relationship priority above anything other than an emergency. It is the inability to give the relationship priority that makes true mentoring scenarios so rare. If you don’t make the mentorship a priority, the new hire quickly senses that she is not important. She also quickly figures out that, when she goes to you for help, she is slowing you down from attending to your “real” priorities. The end result? She doesn’t seek you for help, and she tries to do things on her own. Basically, you’re no longer her mentor.

2. Define a Clear Road map

I’ve seen a number of mentoring programs sink because there is no plan. Someone is hired, and a more experienced developer is assigned to show that person the ropes. The experienced developer wasn’t told about this new mentoring role until 9:05 AM on the new hire’s first day. The would-be mentor takes the new hire on a tour of the building and introduces her to a few other teams — and that’s the extent of “the ropes.” The only thing the new employee usually learns is where to find the kitchen. You need to have a game plan with set goals (for the new hire and the mentor) and a list of topics to cover; otherwise, you’ll both feel lost and give up before you even start.

3. Be tolerant of mistakes

Working with entry-level developers can be frustrating. They are not familiar with writing code in a real-world environment with version control, unit tests, and automated build tools. Also, they may have been taught outdated habits by a professor who last worked on actual code in 1987. Often, entry-level developers do not realize that the way they were taught to approach a problem may not be the only choice. But if your reaction to mistakes is to treat the developer like she is stupid or to blame (even if she is being stupid or is truly at fault), she probably won’t respond well and won’t be working with you much longer.

4. Assign appropriate projects

One of the worst things you can do is to throw an entry-level programmer at an extremely complex project and expect her to “sink or swim.” Chances are, the programmer will sink; even worse, the programmer will add this project to her resume, and then she will run out of there as fast as she can just to get away from you. On the other hand, don’t create busywork for the programmer; let her work on nagging issues in current products or internal projects that you never seem to have time to address. Once you gain confidence about what the programmer can accomplish, then you can assign a more difficult project.

5. Give and accept feedback

You can’t successfully navigate a ship in the middle of an ocean without a compass. Likewise, the new employee will not achieve her goal of becoming a productive member of the team without knowing where she has been and where she is going. This means you need to give feedback on a regular basis, and the feedback needs to be appropriate. For instance, being sarcastic to someone who made an honest mistake is not helpful. Feedback has to be a two-way street as well; you need to be listening to them to find out what their concerns and questions are, and address them.

6. Listen to the new employee’s ideas

Entry-level developers have a lot less built-in prejudices and biases than experienced developers. Sometimes the saying “out of the mouths of babes” really applies. A number of times in my career, I’ve seen a less-experienced employee point out an obvious answer that all of the more experienced employees overlooked. When you treat a new hire as a peer, it raises their confidence and makes them feel like part of the team.

7. Treat the developer with respect

Just because someone is entry-level, it doesn’t mean that her job is to refill your coffee or pick up your lunch. She isn’t rushing a sorority — she’s trying to break into the development business. If you disrespect the developer, she might leave or go to HR about your behavior (and maybe still leave).

Leave me a comment and share your thoughts. Also please Subscribe to our RSS for latest tips, tricks and examples on cutting edge stuff.

Top 12 Smart Tips To Work With SQL

Your users probably don’t know a thing about SQL, but you know its value. It’s everywhere, it’s easy to learn, and SQL solutions are simple to implement. Whether you use SQL a lot or sparingly, working smarter with SQL will help you avoid errors and improve performance.

Many SQLs are vendor-specific. The following tips apply to Jet and Transact-SQL, but most SQL products are similar.

1: Working with Jet SQL in the Access SQL window

Access users create SQL statements every time they create a query; they just don’t know it. They’re using the Query Design window, a graphic representation of the actual SQL. Most users can’t create the appropriate SQL statements they need, so the graphical interface is helpful, but it can help you too. If you can’t create error-less SQL code off the top of your head, let the SQL window help out:

  • Create a query using the Query Design window and then copy the code from the SQL window into a VBA module for use in code.
  • When a query in code returns one of VBA’s meaningless error messages, copy the SQL statement to the SQL window and run it. Access will usually return better information about the error than VBA.

You can’t always copy a SQL statement straight from the module to the SQL window. If the statement includes concatenation or variables, add a Debug.Print statement right after the definition statement. Then, if you need to debug the statement, copy the evaluated statement from the Immediate window. For instance, the following statement in code won’t run in the SQL window because of the variables and concatenation:

However, if you follow the statement with a Debug.Print statement, you can copy the evaluated results, which follow, from the Immediate window:

2: Words reserved by SQL

SQL reserves several words, such as keywords. Avoid using these words to name columns, tables, variables, or any objects. Their use outside of the context in which the engine expects them confuses the engine and generates errors, or worse — incorrect results.

3: The difference between ALL, DISTINCT and DISTINCTROW

SQL’s SELECT statement supports three predicates: ALL, DISTINCT and DISTINCTROW. ALL is the default and returns all records that fulfil any specified conditions. DISTINCT limits the results to unique values in a specific column or columns. For instance, the following statement would return only one record for each LastName value:

In other words, if you have a record for both John and Mary Smith, this statement returns only one record for Smith. However, DISTINCT works with all the columns, not just the column that immediately follows. That means, this statement will return a record for both John and Mary because the combined columns don’t produce a duplicate record:

If the SELECT clause references more than one column, the combination of values from all the selected columns must be unique for a given record.

DISTINCT has a few quirks you should know about but might not expect:

  • Don’t use DISTINCT with the asterisk character (*). You must specify columns by name.
  • Any query using DISTINCT can’t be updated, which makes sense.

While DISTINCT works with columns, DISTINCTROW works with records. (Transact-SQL doesn’t support DISTINCTROW.) This predicate has a few limitations of its own, which can make an error hard to troubleshoot:

  • The engine ignores DISTINCTROW if there’s only one table in the query.
  • The engine ignores DISTINCTROW if you reference all columns from all of the underlying tables.

4: Retrieving only what you need

It’s tempting to use the asterisk character (*) when retrieving data via a SELECT clause, but don’t, unless you really need to retrieve all columns. The more data you retrieve, the slower your application will perform. For optimum performance, retrieve only the columns you need.

5: Variations in aggregates

Both SQL and VBA support aggregate functions, but not the same aggregates. Although they aren’t interchangeable, you can often use one or the other. Table A compares the two types within the context of Jet and Transact-SQL.

Table A

T-SQL Jet VBA Explanation Considers Null
Avg Avg DAvg Returns the mean or average of the specified domain No
Count Count DCount Counts the number of non-Null values in the specified column No
Count(*) Count(*) DCount(*) Counts the number of rows Yes
Sum Sum DSum Totals the values in the specified column No
Min Min DMin Returns the smallest value No
Max Max DMax Returns the largest value No
First Returns the value from the first row in the specified column Yes
Last Returns the value from the last row in the specified column Yes
StDev StDev DStDev Returns sample standard deviation No
StDevP StDevP DStDevP Returns population standard deviation No
Var Var DVar Returns sample variance No
VarP VarP DVarP Returns population deviation No

Don’t use VBA’s domain aggregates when a SQL aggregate will do. When you must use VBA’s domain aggregates, apply an index to the underlying column for best performance. Keep in mind that although SQL’s GROUP BY doesn’t eliminate null values, most SQL aggregates don’t evaluate them. If you want null values considered, you must accommodate them in the expression.

6: GROUP BY considerations

SQL’s GROUP BY clause defines subsets of data. The most important thing to remember when including a GROUP BY clause is to include only those columns that define the subset or summarise data for the subset. In other words, a GROUP BY can’t include extraneous data. For instance, to learn the number of orders placed on a specific date, you’d use a statement similar to the following:

This query would return one record for each date. Each record would display the date and the number of orders for that date. You can’t include any other columns.

GROUP BY is versatile. You don’t need to specify a column in the SELECT clause to group by it. For instance, you could omit OrderDate from the above query and return just the count for each date (although the results wouldn’t make much sense). As long as the GROUP BY column is in the source, SQL doesn’t require it in the SELECT clause. On the other hand, if you refer to a column in the SELECT clause, you must also include it in the GROUP BY clause or in an aggregate function. For instance, the following statement doesn’t work because the Freight column isn’t part of an aggregate or the GROUP BY clause:

In truth, it doesn’t really make sense to try to include a column in this way. If you want the Freight data within the context of a GROUP BY query, you probably want a summary of the freight values in the group, as follows:

Jet can’t group a Memo or OLE Object column. In addition, you can’t include a GROUP BY clause in an UPDATE statement, which makes sense. SQL would have no way of knowing which record to update.

7: Altering table structure

There are several SQL statements for altering the design of a table. Always approach such a task with care because you could destroy data. For instance, if you change a column’s data type, the engine might truncate or delete existing data to accommodate the new column’s data type. Keep the following limitations in mind when altering tables:

  • You can’t alter an existing column’s data to COUNTER if the column already contains data.
  • You can’t rename a column. You must remove the column using DROP COLUMN and then re-create it using the new name. To preserve the data, create the new column, copy data from the original column using UPDATE, and then delete the original column.
  • Before altering a table using ALTER TABLE, close it. Otherwise, the engine will return an error. The following VBA code will close an open table and inhibit the error that’s generated if the table isn’t open:

  • You can’t delete a column if a constraint exists on that column. First, delete the constraint using DROP CONSTRAINT.
  • Remove a CHECK CONSTRAINT before deleting the table to which it applies.
  • You can’t modify an existing relationship. You must delete it and then re-create it.

8: SQL’s problem child, INSERT INTO

SQL’s INSERT INTO statement lets you add new data to an existing table. Used correctly, INSERT INTO works great, but you must remember one critical thing: although the table designs don’t have to match, the specific columns identified on both sides of the task must match. In short, the table that receives the new data must contain the same columns as the incoming data.

You can also explicitly identify each column using the VALUES clause as follows:

However, this syntax adds only a single row at a time, so it will have limited use. You can omit the column references only if you supply a value for every column in target. When including the column references, their order must match the order in the table definition. You must include the primary key column, unless that key is an auto-numbering column — it isn’t necessary to include an auto-numbering column.

9: Using UPDATE to delete values

SQL’s DELETE statement deletes entire records. The statement won’t return an error if you specify a list of columns, but it will ignore the list. For instance, the following statements would delete all the data in a table named Employees:

Even though the last syntax specifies Salary, SQL will delete all the data, not just the Salary values. To delete specific values, use SQL’s UPDATE in the form:

However, even this will return an error if column properties are in conflict. For instance, if a column requires data, it will reject Null.

10: Dropped properties with SELECT INTO

SQL’s SELECT INTO creates a new table by copying rows from an existing table using the following form:

However, this statement doesn’t copy the table exactly. It won’t copy the original table’s primary key, indexes, or column and table properties (beyond the default settings). In addition, it ignores Caption settings and uses the original column names.

When including a SELECT INTO statement, keep in mind that this statement will replace an existing table if one of the same name (newtable) exists within its scope. Fortunately, SQL will warn you first. In some cases, the engine will delete the existing table before it actually creates the new one, so if something goes wrong, you can’t rely on the original table because it’ll be gone. Before running a SELECT INTO, it’s a good idea to make a copy of the existing newtable, if one exists. In addition, if newtable is open, SQL will return an error.

You don’t have to copy data to the new table. You can create a new empty table by adding a WHERE clause as follows:

SQL will create newtable but copy no data to it because no record can satisfy the FALSE condition.

11: The difference between WHERE and HAVING

The WHERE and HAVING clauses perform similar functions but they aren’t interchangeable. WHERE limits the data returned by the SELECT clause; therefore, a GROUP BY is inconsequential. The engine compares data and eliminates records that don’t satisfy the WHERE clause before it groups the records. On the other hand, the HAVING clause eliminates data that doesn’t satisfy the grouping criteria.

If you have trouble remembering which clause to use, remember that the WHERE clause is positioned before the GROUP BY clause and the engine applies the WHERE clause before grouping the records.

12: UNION match-up

SQL’s UNION operator lets you combine records from different sources using the following form:

The important thing to remember with a UNION is that the column order in both SELECT statements must match. The column names don’t have to match, but each list must contain the same number of columns and their data types must be compatible. If the data types don’t match, the engine sometimes chooses the most compatible for you. The results might work, but then again, they might not.

By default, UNION sorts records by the values in the first column because UNION uses an implicit DISTINCT predicate to omit duplicate records. To include all records, including duplicates, use UNION ALL, which eliminates the implicit sort. If you know there are no duplicate records, but there are a lot of records, you can use UNION ALL to improve performance because the engine will skip the comparison that’s necessary to sort (to find duplicates).

Author: Susan Harkins

If you’ve got any thoughts, comments or suggestions for things we could add, leave a comment! Also please Subscribe to our RSS for latest tips, tricks and examples on cutting edge stuff.

What Does It Take To Become An Intermediate Programmer From Beginner

What does it take a beginner to become an intermediate programmer? Well the answer is not simple because the expertise, speed, efficiency and good coding practices etc. factors required may or may not be found in everyone. Internet is also divided in two types of blogs, articles, howto’s etc.

  1. Blog or articles aiming towards programming basics for beginners (“How To do something” or “Hello World”)
  2. MSDN like articles for expert advice on a particular topic.

So, what does it takes a beginner developer to become intermediate programmer? Here are few points to make the transition.

Learning New Languages

Learning new programming languages will always help in becoming a better programmer. Every language you learn will teach you how to do certain stuff in different manner. e.g. If you are a PHP developer then learning Ruby On Rails will help you in understanding Model View Controller (MVC) architecture and will enhance your OOPS skills.

Learning Advanced Search Techniques, Tactics and Strategies

With the rise of technology blog it has become virtually impossible for a programmer to remember all the latest development frameworks. You simple work on stuff which is required and by doing so you are slightly cutting yourself off by rest of the programming community. “Techniques,” “tactics,” and “strategies” may sound like synonyms, but they are not.

  1. Techniques: Learn things like Boolean operators, filtering results (negative keywords, domain restrictions, etc.), what role word order plays, and more
  2. Tactics: Learn how to approach any particular search and knowing what you should you actually look for. Errors are easy to look for the error code but keyword selection on many searches is much more difficult.
  3. Strategies: Learn things like which search engines to use depending upon what you are looking for, which sites to visit before going to a general purpose search engine, and even which message boards to post for help. Recently sites like stumbleupon.com offers great features so check that out.

Keep Brushing Your Programming Skills

Expertise can be defined as doing a variety of programming tasks for a long period. A study suggested that one would require to spend more than 20,000 hours (about 10 years) to become an expert. This does not mean that you would be doing same sort of work for those 10 years to become an expert. Variety is the key. It is considered that a developer in that sort of tenure will face almost all sort of problems and knows a possible solution. Don’t ignore any problem and try to find out a solution, more you solve the better you will become.

Don’t Hesitate to Help Your Fellow Developers

Always try to help others. Teaching has been a proven method of gaining confidence over a problem. When you explain a problem to your fellow developer you will notice that the questions he may ask can bring a finer note to you. You may read again and explain, this time the problem is much more familiar to you and you become quite confident.

There are sites like Yahoo Answers etc. where people keep on asking stuff. You can simply answer them and don’t think it as a waste of your time. When you answer you will notice the answers given by others users too. These answers may add something to your knowledge too.

Honor Expert Advice of Seniors

As a beginner you are not in a state to figure the best approach by yourself. Always honor the advice given by your senior staff and don’t claim it as your own. Don’t try to find out an alternate solution to the advice at that early stage. With the growing confidence you will figure things out by your own till then respect the opinion by your senior. Moreover, at one stage of your life you will distinguish between an Expert and a novice advice but till then listen others.

Gradually Lean Advance Topics

Gradually learn advace topics and incease your knowledge by practicing hard. Ideally, you would learn topics as and when they are required but having a prior understanding about that topic will surely help you in understanding the problem and help in thinking about a possible solution. Even if you’re an entry-level developer over all, try to become an expert in at least one area of focus.

Learn About Background stuff

Always ask yourself what is going on in the background to display “Hello World”. Once you are confident about the background process you will fee more comfortable in designing your structure. However, this is quite a task still you can start with simple controls or commands.

Best Coding Practices

Best coding practices involves nice variable names, proper indentation, small and modular code etc. These are a MUST for every developer and develop habit and interest for that. Even though learning these things will not always make your code better or you a better developer, it will ensure that you are not viewed as an entry-level developer by your peers. Even if someone is a senior developer, when variables are named after their 97 cats or their functions are called “doSomething(),” they look like they do not know what they are doing, and it makes their code harder to maintain in the process.

If you’ve got any thoughts, comments or suggestions for things we could add, leave a comment! Also please Subscribe to our RSS for latest tips, tricks and examples on cutting edge stuff.