473,856 Members | 1,399 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

How to ask "good" questions -- READ BEFORE SUBMITTING A QUESTION!

32,584 Recognized Expert Moderator MVP
Remember that the people here helping you are not getting paid. They have no real incentive to help you beyond the desire to help others generally. So, if you make it difficult for them to help, there is a good chance they will just skip your thread and go on to the next one.

So, how do you ask a good question? There are a few rules:
  • Clarity -- Possibly the most important. Explain your problem clearly, without rambling about unrelated details. Proper language greatly improves your clarity. We all understand that English is not everyone's first language, but you can do better than "pls cn u send me teh codes?"
  • Brevity -- "Brevity is the soul of wit." We don't need to see your entire 800 line source code when the problem is with one small method. Also, we don't need a super-wordy question.
  • Technical Details -- There must be a balance between brevity and details. Be as brief as possible while providing us enough details to help solve your issues. Here are a few details that are almost always import:
    • Compiler errors! Just saying "I get an error" or "My error is nnnn" is never good enough. The VBA Integrated Development Environment (IDE or debugger window) enables you to see the full error message as well as highlighting the line responsible for it. We certainly need that info. Be sure to post it!
    • Runtime errors! Same thing, we can't help you if you don't provide the information.
    • The version of Access you're using. This is a simple thing to mention at the beginning of your post, but can save us some time in helping you, as some things have changed significantly over recent releases.
      A product that has been produced by one of our moderators (also a current Access MVP - Colin Riddington) can be found in the article "Access/Windows/Office365 Version Checker".
    Beyond these, use your judgment. If you feel like we should know something, include it. Just try not to bog us down with unnecessary extraneous code. We probably aren't going to take the time to read your entire source file if it's huge. It's your job to identify the error in your question.
  • Formatting -- This forum has several text formatting options to make reading things easier. Ordered/unordered lists, indention, hyperlinking, embedding images, and most importantly, the [CODE] tags. Always enclose your source code in [CODE][/CODE] tags, because it preserves whitespace and adds line numbers.

So now that you know what to do, what shouldn't you do?

  • Ask basic introductory questions -- "How do I define a subroutine ??" -- We're here to help, but we can't teach you the language all by ourselves. There are other resources out there for that.
  • Ask new questions in an existing thread -- This is generally known as hijacking and is never welcome. This even includes follow-on questions in your own threads (Those started by you). If an existing thread is about what you need help with then feel free to include a link to that thread in your own new question thread.
  • Ask questions that are easily answered by a search engine -- "What variable types are available in VBA?" -- The information on a large percentage of questions asked is already available on the web. Forums often take days, and almost always take at least hours. Google takes seconds. I would recommend googling your error message before coming to us. You may find your answer quicker than you thought.
  • Ask questions with a huge scope -- "How do I write an accountancy package?" -- We can help you with specific issues, but we can't give you a college course on a topic. Think about whether what you are asking can be solved/explained in a few paragraphs. If it can't, you're probably asking too much.
  • Ask for someone to do your "homework"/"assignment " -- "Can someone send me the codes to link my customers with their orders?" -- We can't do your homework for you. It's dishonest and will give us a reputation as a cheating site. We may be able to help you solve specific issues with your homework questions, but we cannot do it for you. For the record, homework doesn't only mean coursework. We won't write the application for your company on your behalf either.
  • PM technical questions to other members - experts or otherwise -- Private Messaging is not where people expect to find technical questions. These should be found only in the relevant technical forums. Members quite rightly expect their Private Messages to be devoid of requests better handled in the forums. This behaviour is considered to be harrassment and is not tolerated.
  • Break the Posting Guidelines -- These are not difficult rules to follow. Please briefly read them over before you post your question. You may be doing something wrong without realizing it.

Again, remember that the people helping you are unpaid and uncompensated. They just like helping people. If you make it hard for them to help, they might just skip your question and move on to the next one.
Nov 5 '10 #1
1 36221
32,584 Recognized Expert Moderator MVP
(More important advice copied in from Before Posting (VBA or SQL) Code).

Before posting any code on here please :
  1. For VBA code specifically :
    1. Ensure you have Option Explicit set (See Require Variable Declaration).
    2. Try to compile it. If it doesn't compile for any reason then fix it before posting. If you cannot manage that for any reason, then please explain that clearly - including the error message and which line of your code it appears on.
      1. Compilation is done from the Visual Basic Editor menu - Debug \ Compile Project (Where Project is the actual name of your project).
      2. Determining the line number depends on selecting the Debug option when the error is displayed, and that depends on setting the VBA IDE options correctly (See Debugging in VBA - 3) General Tips for more on that.) in order to allow the code to break. The line the error occurred on wil be the currently selected line and will typically be highlighted in Yellow.
  2. For SQL as well as VBA :
    1. Copy your code (using the Clipboard - Cut / Copy / Paste) from your project directly into your post. Typing in code is not appreciated as it is likely to introduce typos which cause members to waste their time unnecessarily.
    2. Ensure that the code in your post is enveloped within CODE tags. The [CODE/] button in the posting page helps with this. Simply select your code and click on the [CODE/] button to have it enveloped automatically (See [code] Tags Must be Used).
  3. For SQL specifically :
    1. If your problem is a SQL one, but you are developing your SQL using VBA code, then please post the actual SQL you intend to execute. So many people seem to need telling how intelligent it isn't to post just the VBA and hope that the experts can guess sensibly what values your code is working with. Also, it's disrespectful to our experts to expect them to work out what your question should be for you. The member asking the question has the responsibility to provide all relevant information for a question, and if you want help with executing some SQL, then the SQL string itself is pretty obviously relevant information in that situation (See How to Debug SQL String).
    2. This one can be ignored for those with a beginner's understanding of SQL and how it works, as well as for very short and simple SQL strings :

      SQL is like C-based languages in that white space is used as a separator. This includes new lines etc. What this means for working with other people on a forum is that the fundamental SQL doesn't change if you organise it to display in such a way that it is visible and clear by arranging similar items below each other for instance.

      Access will produce SQL for a QueryDef with, quite understandably, very little thought given to readability. Experts on site are likely to be happier though, if instead of displaying the SQL exactly as Access does, the member formats it so that it's easier to read. I include an example here to illustrate :
      Expand|Select|Wrap|Line Numbers
      1. SELECT Table1.Field1, Table1.Field2, Table1.Field3, Table1.Field4, Table1.Field5, Table2.Field1, Table2.Field2, Table2.Field3, Table2.Field4, Table2.Field5
      2. FROM Table1 LEFT JOIN Table2 ON Table1.Field1 = Table2.Field1 AND Table1.Field2 = Table2.Field2 AND Table1.Field3 = Table2.Field3
      3. ORDER BY Table1.Field1, Table1.Field2, Table1.Field3
      This could as easily be written as :
      Expand|Select|Wrap|Line Numbers
      1. SELECT   Table1.Field1
      2.        , Table1.Field2
      3.        , Table1.Field3
      4.        , Table1.Field4
      5.        , Table1.Field5
      6.        , Table2.Field1
      7.        , Table2.Field2
      8.        , Table2.Field3
      9.        , Table2.Field4
      10.        , Table2.Field5
      11. FROM     Table1
      12.          LEFT JOIN
      13.          Table2
      14.   ON     Table1.Field1 = Table2.Field1
      15.  AND     Table1.Field2 = Table2.Field2
      16.  AND     Table1.Field3 = Table2.Field3
      17. ORDER BY Table1.Field1
      18.        , Table1.Field2
      19.        , Table1.Field3
      As this is fundamentally clearer, as well as requiring less scrolling on the part of the reader, it is much easier to work with (and frankly, it will also help you to understand the SQL better). It needn't be exactly that format, but anything ordered and more easily visible on a narrow page is a help.
If all these points are covered then all members will be better able to understand, and therefore attempt to answer, your question.
May 8 '16 #2

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

by: David Arden Stevensonn | last post by:
Say I have an XML file on my website that gets read alot (by a c# aspx page) but written to occasionally (also by the same c# aspx page) . Its a simple caching situation based on time. Example: If x minutes have elapsed return the XML from the file and then rewrite the XML file for the next user and reset the clock. If x minutes havent elapsed just return the XML from the file. Do I need to be concerned for any concurrent read/writes or...
by: Gelios | last post by:
Hello All! I am going to crazy and feeling myself so stupid but I don't understand such behaviour. I have code: public int getNextAgentId() { Int32 agent_id = 0; IDataReader dr = dbap.DBDataReader("SELECT MAX(agent_id) FROM Agents"); if(dr.Read()) { agent_id = dr.GetInt32(0);
by: chris.schwalm | last post by:
I would like to first state that I have searched through the archives and found a lot of related material, but am still new enough to javascript that I can't fit all the pieces together yet. So here is my situation. I would like to create a program that grabs the source of a displayed webpage, sends it off to another program, then receive the slightly modified source back from that other program, and then reposts the slightly modified...
by: Cyron | last post by:
Hello Friends, When I make a call to NetworkStream.Read(byte buffer, int offset, int size) I have found that this method will block until size bytes have been read or the connection is closed. Is this the correct behavior? My MSDN documentation led me to believe that this function should block until at least 1 byte of data was available, the connection was closed, or size bytes of data had been read. Any comments or clarifications...
by: Viviana Vc | last post by:
Hi all, I've read the WindowsVistaUACDevReqs.doc documentation and I have done different small tests on Vista to understand the bahaviour and now I have a few questions. 1) If I create a dummy console application that creates a file in Program Files directory, this one will succeed and will create the file b/c of the virtualization. But, if I do the following call in a console window (a.exe contains just
by: =?Utf-8?B?VGFtbXkgTmVqYWRpYW4=?= | last post by:
Hi, I am using Visual C# window to dispaly a set of questions with their answers. The users should be able to move to the next question by clicking on next button. I am going to use only one panel to display one question and move to next question. Can someone please help me with the codes on coding "Next" button? Thanks -- Nejadian
Curtis Rutland
by: Curtis Rutland | last post by:
Remember that the people here helping you are not getting paid. They have no real incentive to help you beyond the desire to help others. So, if you make it difficult for them to help, there is a good chance they will just skip your thread and go on to the next one. So, how do you ask a good question? There are a few rules: Clarity -- Possibly the most important. Explain your problem clearly. without rambling about unrelated details....
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look ! Part I. Meaning of...
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.